Пытаюсь написать функцию для тэга случайного пользователя.
Искал в интернете решение этой задачки, но пока ничего не помогло.
Intent включен в настройках бота.
Сам код:
import random
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix = '-')
client = discord.Client()
token = 'тут токен'
intents = discord.Intents()
intents.members = True
@bot.event
async def on_ready():
print('Logged in as')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.command(intents=intents, aliases=['кто'])
async def _kto(ctx, *, question):
try:
await ctx.send(f'Вопрос: кто {question}\n Ответ: {random.choice(ctx.channel.guild.members).mention}')
except:
await ctx.send('Error. The command is not found or does not work')
bot.run(token)
Бот либо тегает себя, либо если я использую другой вариант скопипащенный с stack overflow
@client.command()
@commands.guild_only()
async def tag(ctx):
try:
await ctx.send(choice(tuple(member.mention for member in ctx.guild.members if not member.bot and member!=ctx.author)))
except IndexError:
await ctx.send("You are the only human member on it!")
То он выдает "You are the only human member on it!"