前提・実現したいこと
Discord.pyを使って自分で荒らし対策Botを作ろうとしていまして、特定の言葉を発言して何回か以上それを発言したらBanするものを作りたいです。特定の言葉を発したメッセージを削除することはできたのですが、Banはなぜかできません。初心者ですので、できれば初心者にもわかりやすいようにお願い致します。
発生している問題
3, 4回以上フィルターした言葉を発しても削除されるだけでBANされない
該当のソースコード
Python
1@bot.event 2async def on_message(message): 3 filtered_words = ["フィルターしたいもの"] 4 for word in filtered_words: 5 if word in message.content.lower(): 6 await message.delete() 7 embed= discord.Embed(color=discord.Color.red()) 8 embed.set_author(name="自動削除") 9 embed.add_field(name="ユーザー:", value=f"{message.author.mention}", inline=False) 10 embed.add_field(name="削除されたワード:", value=f"{word}", inline=False) 11 embed.add_field(name="メッセージ:", value=f"{message.content}", inline=False) 12 embed.set_footer(text=f'ユーザー ID: {message.author.id}') 13 embed.timestamp = datetime.datetime.utcnow() 14 ch_name = "チャンネル名" 15 for channel in bot.get_all_channels(): 16 if channel.name == ch_name: 17 await channel.send(embed=embed) 18 counter = 0 19 counter += 1 20 if counter > 3: 21 user = bot.get_user(message.author.id) 22 await user.ban() 23 print(str(counter)) 24
試したこと
同様な症状やコードの書き方を調べて改善できるか試してみましたがダメでした。
補足情報(FW/ツールのバージョンなど)
Python3.9

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。