discordbotをPythonで作っています。初心者なので、ネットから検索し、良いなと思ったものをコピペして使っています。
グローバルチャットと、その他の(挨拶を返してくれるコマンドなど)を両方プログラムしていると、グローバルが使えなくなりました。何故でしょうか?
Python
1 2````import discord 3 4client = discord.Client() 5 6@client.event 7async def on_message(message): 8 if message.author.bot: 9 # もし、送信者がbotなら無視する 10 return 11 GLOBAL_CH_NAME = "hoge-global" # グローバルチャットのチャンネル名 12 13 if message.channel.name == GLOBAL_CH_NAME: 14 # hoge-globalの名前をもつチャンネルに投稿されたので、メッセージを転送する 15 16 await message.delete() # 元のメッセージは削除しておく 17 18 channels = client.get_all_channels() 19 global_channels = [ch for ch in channels if ch.name == GLOBAL_CH_NAME] 20 # channelsはbotの取得できるチャンネルのイテレーター 21 # global_channelsは hoge-global の名前を持つチャンネルのリスト 22 23 embed = discord.Embed(title="hoge-global", 24 description=message.content, color=0x00bfff) 25 26 embed.set_author(name=message.author.display_name, 27 icon_url=message.author.avatar_url_as(format="png")) 28 embed.set_footer(text=f"{message.guild.name} / {message.channel.name}", 29 icon_url=message.guild.icon_url_as(format="png")) 30 # Embedインスタンスを生成、投稿者、投稿場所などの設定 31 32 for channel in global_channels: 33 # メッセージを埋め込み形式で転送 34 await channel.send(embed=embed) 35 36client.run(token) 37 38