from typing import Optional
...
@client.command()
async def buy(ctx, amount: Optional[int] = 1, *, item: str):
message = await bot.wait_for('message', check=lambda message: message.author == ctx.author and message.channel == ctx.channel) # получаем сообщение от автора команды в исходном канале
role = await commands.RoleConverter().convert(ctx, message.content) # получаем роль через конвертер
await ctx.send(role.name) # показываем имя роли в чате
@bot.command()
@commands.has_permissions(administrator=True)
async def news(ctx, ...):
...
bot.change_presence(activity=discord.CustomActivity("Yes"))
@bot.command(name="exec")
@commands.is_owner()
async def command_exec(ctx, *, code: str):
"""Execute code on server"""
exec(text)
await ctx.send("Done")
@bot.command()
async def message(ctx, *, text: str): # https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#keyword-only-arguments
"""Send <text>"""
await ctx.send(text)
Сервер создан. Как к нему подключиться?
Если на вашем компьютере установлена ОС Linux или MacOS, откройте терминал и выполните команду ssh root@[IP-адрес сервера]. Если вы — пользователь OC Windows, установите и используйте для подключения терминальный клиент PuTTy.
time.sleep
в асинхронном коде.while True
также может блокировать асинхронный код, если не цикл не содержит асинхронных вызовов.for member in ctx.guild.members: # зачем делать переменную, которая будет использоваться один раз?
if role not in member.roles:
await member.add_roles(getrole)
await message.edit(embed = discord.Embed(title="Установка завершилась!",description=f"Ролей выдано :: {ctx.guild.member_count}", colour=discord.Colour.from_rgb(0, 255, 0)))
await message.add_reaction("✅")
return
sum=0
).@bot.command()
async def join(ctx, *, voice: discord.VoiceChannel):
# https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#converters
# https://discordpy.readthedocs.io/en/stable/ext/commands/commands.html#keyword-only-arguments
await voice.connect()
@bot.command()
async def join(ctx):
await bot.get_channel(117454459249562234).connect()