@client.event
async def on_message(message):
def check(m):
return m.author == ctx.author and m.channel == ctx.channel # Принимаем данные только пользователя который написал 'Func'
if message.author == client.user:
return
if message.channel.startswith("Func")
await message.channel.send("Введите имя")
data1 = await client.wait_for('message', check=check, timeout=60) # timeout=60 - в течении 60 сек. мы будем принимать сообщения
await message.channel.send("Введите пароль") # ВАЖНО: Мы принимаем ОДНО сообщение.
data2 = await client.wait_for('message', check=check, timeout=60)
# или бесконечно принимать данные
await message.channel.send("Введите данные")
while True:
data = await client.wait_for('message', check=check) # Так мы будем бесконечно принимать сообщения.
@client.command(aliases = ['репорт']) #aliases это список название для команды
async def report(ctx, *, message):
channel = discord.uttils.get(ctx.guild.TextChannels, name = 'название канала')
await channel.send(f'новая жалоба\n{message} ')
await ctx.send('жалоба отправлена', delete_after = 5)
вот пример кода. Улучшите его с помощью embed.
поправьте табуляцию, так как с телефона писать не легко.
emb = discord.Embed(title='Ивенты', description=f'Выберите ивент который хотите провести.',
components=[
Button(style=ButtonStyle.gray, label='CodeNames', emoji=''),
Button(style=ButtonStyle.gray, label='Бункер', emoji=''),
Button(style=ButtonStyle.gray, label='Дурак Онлайн', emoji=''),
Button(style=ButtonStyle.gray, label='Шляпа', emoji=''),
Button(style=ButtonStyle.gray, label='Сломанный телефон', emoji='')
])
emb.set_thumbnail(url=ctx.author.avatar_url)
msg = await ctx.send(embed = emb)
@client.command( pass_context = True )
async def help( ctx ):
ebm = discord.Embed( title = 'Все наши команды' )
emb.add_field( name = f'{ PREFIX }help', value = 'Помощь по командам' )
emb.add_field( name = f'{ PREFIX }helpme', value = 'Помощь по командам в личку' )
emb.add_field( name = f'{ PREFIX }clear', value = 'очистка чата (только для админов)' )
emb.add_field( name = f'{ PREFIX }kick', value = 'кикнуть юзера (только для админов)' )
emb.add_field( name = f'{ PREFIX }ban', value = 'забанить юзера (только для админов)' )
await ctx.send( embed = emb )
@bot.message_handler(commands=['special'])
def mess(message):
for user in joinedUsers:
bot.send_message(user, message.text[message.text.find(' '):])
Вы открыли файл joinedUsers и закрыли попробуйте этот код:
@bot.message_handler(commands=['special'])
def mess(message):
joinedFile = open("joined.txt", "r")
joinedUsers = set ()
for user in joinedUsers:
bot.send_message(user, message.text[message.text.find(' '):])
@client.command()
@commands.has_permissions(view_audit_log = True) #права команды: Просматривать аудит логи
async def say(ctx, *, arg = None):
emb = discord.Embed(description = f'{arg}', color = 0x0944d9) #цвет синий
await ctx.send(embed = emb) #отправка сообщения
@say.error #если у участника нету прав просматривать аудит лог то пишем ему то что у вас не достаточно прав!
async def say_error(ctx, error):
if isinstance(error, commands.MissingPermissions):
emb = discord.Embed(titile = f'Ошибка', description = f'**У вас недостаточно прав!**', color = RED)
emb.set_footer(text = f'{client.user.name} © 2020 | Все права защищены', icon_url = client.user.avatar_url)
await ctx.send(embed = emb, delete_after = 15)