前提・実現したいこと
discord.pyを使用し、Webhook式のグローバルチャットを作成しています。
しかし、一部のサーバーで受信ができないという問題が発生してしまいました。
エラーを見ると、WebhookにTokenが関連付けられていない、ということなのですが、
原因も解決法も全く分かりません。
原因や解決法をご存知の方がいらっしゃったら、ご回答をお願いします。
発生している問題・エラーメッセージ
Ignoring exception in on_message Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/discord/client.py", line 351, in _run_event await coro(*args, **kwargs) File "/root/PescadoGamesBOT/main.py", line 81, in on_message await webhook.send(content=message.content, File "/usr/local/lib/python3.9/dist-packages/discord/webhook/async_.py", line 1348, in send raise InvalidArgument('This webhook does not have a token associated with it') discord.errors.InvalidArgument: This webhook does not have a token associated with it
該当のソースコード
python
1@bot.listen() 2async def on_message(message): 3 if message.author.bot: 4 return 5 GLOBAL_CH_NAME = "global-chat-name-wh" 6 GLOBAL_WEBHOOK_NAME = "global-chat-name" 7 USER_ID = "(" + str(message.author.id) + ")" 8 USER_TAG = "#" + message.author.discriminator 9 10 if message.channel.name == GLOBAL_CH_NAME: 11 await message.delete() 12 13 channels = bot.get_all_channels() 14 global_channels = [ch for ch in channels if ch.name == GLOBAL_CH_NAME] 15 16 for channel in global_channels: 17 ch_webhooks = await channel.webhooks() 18 webhook = discord.utils.get(ch_webhooks, name=GLOBAL_WEBHOOK_NAME) 19 20 if webhook is None: 21 continue 22 await webhook.send(content=message.content, 23 username=message.author.name + USER_TAG + USER_ID, 24 avatar_url=message.author.avatar)
試したこと
Webhookの再作成(効果はありませんでした)
補足情報(FW/ツールのバージョンなど)
Python 3.9.6
discord.py 2.0.0a
グローバルチャットとは:
とあるサーバーでメッセージが送信されたら、グローバルチャットに参加している
他のサーバーにメッセージを転送すること
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。