【discord bot】オウム返しに苦労した編
以下のプログラムを実行してみた。
main.py
-----
import discord
TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXX'
CHANNELID = 999999999999999
Intents = discord.Intents.default()
Intents.members = True
client = discord.Client(intents=Intents)
@client.event
async def on_ready():
print('ログインしました')
@client.event
async def on_message(message):
if not message.author.bot:
channel = client.get_channel(CHANNELID)
await channel.send(message.content)
print(message.content)
client.run(TOKEN)
-----
発生したエラーが message.content is empty
メッセージの内容がカラと判定している模様。
試しにメッセージそのものを出力してみると、
-----
<Message id=99999999999999 channel=<TextChannel id=99999999999999 name='一般' position=5 nsfw=False news=False category_id=999999999999> type=<MessageType.default: 0> author=<Member id=9999999999name='egolife' discriminator='9999' bot=False nick=None guild=<Guild id=99999999999name='Cotoneri Community Place' shard_id=0 chunked=True member_count=8>> flags=<MessageFlags value=0>>
-----
本文を持っていない?
調査したところ、Discord Developer Portal で設定を変更する必要がある。
さらに、main.pyの
-----
client = discord.Client(intents=Intents)
を、
-----
client = discord.Client(intents=discord.Intents.all())
-----
に変更したところ、出力できた。
2時間ぐらいハマりました。。