前提・実現したいこと
on_messageは反応しますが@bot.commandは使えませんどうしたら改善しますか?
python
1import discord 2import logging 3import abc 4import requests 5from discord.ext import tasks, commands 6import aiohttp 7from pprint import pprint 8import asyncio 9from datetime import datetime 10import json 11import typing 12from os import getenv 13import traceback 14import random 15 16discord_intents = discord.Intents.all() 17 18bot = commands.Bot(command_prefix='.', 19 description='A bot that greets the user back.') 20bot.remove_command("help") 21 22ここの部分だと思います。 23------------------------------------------- 24 25@bot.command() 26async def test(ctx): 27 pass 28 29 30@bot.command() 31async def on_ready(): 32 pass 33 34 35async def my_message(message): 36 pass 37 38 39async def on_message(message): 40 pass 41 42 43@bot.event 44async def on_message(message): 45 #処理 46 await bot.process_commands(message) 47 48 49@bot.command() 50async def foo(ctx, arg): 51 await ctx.send(arg) 52 53 54@bot.command() 55async def add(ctx, arg): 56 await ctx.send(arg) 57 58 59@bot.command() 60async def _list(ctx, arg): 61 await ctx.send(arg) 62 63 64@bot.command() 65@commands.has_role('Mastar') 66async def purge(ctx, target: int): 67 channel = ctx.message.channel 68 deleted = await channel.purge(limit=target) 69 await ctx.send(f"{len(deleted)})メッセージを削除しました。") 70 71------------------------------------------------------------- 72 73class LibeClient(discord.Client): 74 async def on_ready(self): 75 print('--------------------------------------') 76 print('Logged on as {0}!'.format(self.user)) 77 print('Logged in as') 78 print(self.user.name) 79 print(self.user.id) 80 print('ログインしました。') 81 print('--------------------------------------') 82 await client.change_presence(activity=discord.Game( 83 name="python")) 84 85 def __init__(self, *args, **kwargs): 86 super().__init__(*args, **kwargs) 87 88 self.counter = 0 89 90 async def on_message(self, message): 91 92 print('メッセージが来たよ→ {0.author}: {0.content}'.format(message)) 93 94 if message.content.startswith('/id'): 95 await message.channel.send('PaL_Libe') 96 97 if message.content.startswith('logout'): 98 await message.channel.send('ログアウトします。') 99 await client.logout() 100 101 if message.content == '!bot': 102 await message.channel.send('```BOT discordバージョン起動中です。```') 103 104 if message.content.startswith('Hi'): 105 await message.channel.send(message.author.mention + 'hello') 106 107 108client = LibeClient() 109client.run('TOKEN') 110
環境
python 3.8.12
discord.py 21.2.4
質問は何でしょうか。
回答1件
あなたの回答
tips
プレビュー