from linelib import Client as ClientType
from linelib.ext import commands
class CogDemo(commands.Cog):
def __init__(self, client):
super().__init__()
print('inited')
@commands.cog_command(name="test")
async def test_command(self, ctx):
await ctx.reply("Test.")
def setup(c: ClientType):
c.load_cog(CogDemo(c))
...and the bot replied correctly.
But what I saw this on the console:
```sh
[2023-03-02 14:21:56,075] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/gate.py", line 26, in reply
mk(resJson)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/mkerr.py", line 9, in mk
raise ClientException(f"""Error while making a request:\n ~ {resJson['message']}""")
linelib.exceptions.ClientException: Error while making a request:
~ Invalid reply token
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 2525, in wsgi_app
response = self.full_dispatch_request()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1822, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1820, in full_dispatch_request
rv = self.dispatch_request()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 203, in index
self.emitEvents(t, context)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 107, in emitEvents
loop.run_until_complete(task)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 99, in goOver
await task
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 84, in doTask
await handler.emit(*args, **kwargs)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/construct.py", line 24, in emit
await self.func(*args, **kwargs)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 257, in on_mount
res = await cog.emit(ctx)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 52, in emit
res = await cmd.emit(self, ctx)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 154, in emit
await self._LL_ERR(o, ctx, ERROR)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 177, in _LL_ERR
raise err # default
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 151, in emit
await self.func(o, ctx, *_PASS, **_NAMED)
File "/home/runner/new-helper/ext/pick/__init__.py", line 14, in picked
await ctx.reply([
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/model/context.py", line 117, in reply
await replyFunc(self.client, self.reply_token, messages, notification_disabled)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/gate.py", line 29, in reply
raise ClientException(err)
linelib.exceptions.ClientException: Error while making a request:
~ Invalid reply token
```
I believed that the request was probably sent twice, and I still cannot find where exactly occurs this sort of error.
Yes, I'll need to revise the ext.commands module.
Version
v2
Relevant log output
[2023-03-02 14:21:56,075] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/gate.py", line 26, in reply
mk(resJson)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/mkerr.py", line 9, in mk
raise ClientException(f"""Error while making a request:\n ~ {resJson['message']}""")
linelib.exceptions.ClientException: Error while making a request:
~ Invalid reply token
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 2525, in wsgi_app
response = self.full_dispatch_request()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1822, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1820, in full_dispatch_request
rv = self.dispatch_request()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/flask/app.py", line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 203, in index
self.emitEvents(t, context)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 107, in emitEvents
loop.run_until_complete(task)
File "/nix/store/hd4cc9rh83j291r5539hkf6qd8lgiikb-python3-3.10.8/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 99, in goOver
await task
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 84, in doTask
await handler.emit(*args, **kwargs)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/construct.py", line 24, in emit
await self.func(*args, **kwargs)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/client.py", line 257, in on_mount
res = await cog.emit(ctx)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 52, in emit
res = await cmd.emit(self, ctx)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 154, in emit
await self._LL_ERR(o, ctx, ERROR)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 177, in _LL_ERR
raise err # default
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/ext/commands.py", line 151, in emit
await self.func(o, ctx, *_PASS, **_NAMED)
File "/home/runner/new-helper/ext/pick/__init__.py", line 14, in picked
await ctx.reply([
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/model/context.py", line 117, in reply
await replyFunc(self.client, self.reply_token, messages, notification_disabled)
File "/home/runner/new-helper/venv/lib/python3.10/site-packages/linelib/connect/gate.py", line 29, in reply
raise ClientException(err)
linelib.exceptions.ClientException: Error while making a request:
~ Invalid reply token
Just to make sure...
[x] I've checked other issues, and this is not a repeated report.
What happened?
I created a new cog (loaded) like so:
...and the bot replied correctly.
But what I saw this on the console:
I believed that the request was probably sent twice, and I still cannot find where exactly occurs this sort of error.
Version
v2
Relevant log output
Just to make sure...