#python #discord.py
#питон #discord.py
Вопрос:
Как создать Discord.py командовать?
На самом деле, он вообще ничего не показывает в консоли, что мне делать?
Ошибки нет, ничего не выполняется.
import discord
import time
from discord.ext import commands
client = commands.Bot(command_prefix='/')
# This detects when the bot started.
@client.event
async def on_ready():
print(f'{client.user.name} is ready!')
# This detects when someone sends a message.
@client.event
async def on_message(message):
if message.author == client.user:
return
if 'fuck' in message.content:
await message.delete()
async with message.channel.typing():
time.sleep(1)
await message.channel.send('You cannot swear in this discord server!')
if 'shit' in message.content:
await message.delete()
async with message.channel.typing():
time.sleep(1)
await message.channel.send('You cannot swear in this discord server!')
if 'bitch' in message.content:
await message.delete()
async with message.channel.typing():
time.sleep(1)
await message.channel.send('You cannot swear in this discord server!')
if 'https://' in message.content:
await message.delete()
async with message.channel.typing():
time.sleep(1)
await message.channel.send('You cannot send links in this discord server!')
# This cteates a command.
@commands.command()
async def test(ctx, arg):
async with message.channel.typing():
time.sleep(1)
await ctx.send(arg)
client.add_command(test)
client.run('TOKEN')
Ответ №1:
Вам нужно добавить client.process_commands
в конце on_message
события.
async def on_message(message):
# ...
await client.process_commands(message)
Еще одна ошибка в вашем коде заключается в том, что вы не определяете message
в test
команде, вы можете исправить это с помощью Context.message
атрибута
async with ctx.message.typing():
# ...
# Or
async with ctx.typing():
# ...
Также вы можете просто использовать client.command
декоратор вместо commands.command
, чтобы вам не нужно было добавлять строку client.add_command
@client.command()
async def test(ctx, arg):
# ...
Ссылка:
Комментарии:
1. Не забудьте принять ответ, если он помог!