#python #discord #bots #discord.py #account
#python #Discord #боты #discord.py #Учетная запись
Вопрос:
Я пытаюсь создать учетную запись discord, доступную 24/7, потому что мне нужно иметь своего рода «службу поддержки», поэтому мне нужно иметь несколько запрограммированных команд для автоматического ответа, когда я недоступен.
import discord, os, keep_alive, asyncio, random
from discord.ext import commands
client = discord.Client()
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.find("<@amp;782663553492189204") != -1:
await message.channel.send("Vamos te responder o mais rápido possível.")
elif message.content.startswith("!TesteDM"):
await message.author.send("Teste bem sucedido")
async def ch_pr():
await client.wait_until_ready()
nomes = ["help | @HelpDesk", "Faz-te sócio do NECC", "Máscara por 3€", "Visita o NECC", "Sala de Estudo", "bit.ly/calendárioLCC", "Convida Pessoal", "bit.ly/dropboxLCC", "bit.ly/pre-inscriçãoNECC"]
while not client.is_closed():
status = random.choice(nomes)
await client.change_presence(activity=discord.Game(name=status))
await asyncio.sleep(10)
client.loop.create_task(ch_pr())
keep_alive.keep_alive()
client.run(os.getenv("TOKEN"), bot = False)
Проблема в том, что когда я пытаюсь реализовать какую-то команду, например:
@client.command()
async def kick(ctx, member : discord.member, * , reason=none):
await member.kick(reason=reason)
Это не работает, и я не знаю почему. Я не знаю, работает ли это только с токенами ботов или может работать с токенами реальных учетных записей.
И где у меня есть: client = discord.Client()
Раньше у меня было:
client = commands.Bot(
command_prefix='!',
self_bot=True
)
Ответ №1:
Он не работает, потому discord.Client
что не имеет встроенной поддержки команд, измените эту строку client = discord.Client()
на client = commands.Bot(command_prefix='some prefix')
также вы должны включить некоторые намерения
Комментарии:
1. Как я уже сказал, я уже пробовал, но это не сработало. Раньше у меня были команды `client =. Бот (command_prefix= ‘!’, self_bot= True ) ` И я пытаюсь выполнить команду: ` @client.command() async def kick(ctx, участник : discord.member, * , причина = нет): ожидает участника.удар (причина = причина) ` Когда я набрал! удар @Mike Ничего не произошло
2. потому что вы не включили никаких намерений. Для этой конкретной команды вам нужны intents.members
3. включить намерения. вот как