2017-12-20 11 views
0

私はPython(v。3.6.1)を使ってDiscordボットを書いています。その機能の1つは、チャネルで送信されたすべてのメッセージを検出し、処理した後、そのチャネルのメッセージに応答します。 (少なくとも、それは私がそれを行うにはをしたいものです。)Python Discordボットを送信したすべてのメッセージを模倣するにはどうすればよいですか?

が、私はこれを試してみました:

@bot.event 
async def on_message(message): 
    await bot.say(message.content) 

機能は、私がそれを望むようにメッセージが送信されるときに応答しますが、ではありません。

discord.errors.InvalidArgument: Destination must be Channel, PrivateChannel, User, or Object. Received NoneType

私はこれをどのように修正します:私の代わりにエラーを取得しますか?どうもありがとう!

+0

Pythonの質問には常に汎用[python]タグを使用してください。 –

+1

問題を引き起こすコードを含めてください。エラーメッセージだけでは無駄です。 [良い質問をするにはどうすればいいですか?](https://stackoverflow.com/help/how-to-ask)を参照してください。 – Galen

答えて

1

bot.sayをコマンドの外部に使用することはできません。

Can I use bot.say in other places aside from commands?

No. They only work inside commands due to the way the magic involved works.

http://discordpy.readthedocs.io/en/latest/faq.html#can-i-use-bot-say-in-other-places-aside-from-commands

ボットリピートに送られたすべてのメッセージを持っているために、あなたはsend_messageを使用することができます。以下は例です。

関連する問題