Хочу сделать мини диалог, чтобы после указания возраста бот давал роль.
Код:
@client.event
async def on_message(message):
hello = ['привет', 'добрый вечер']
verify_context = ['да','da', 'yes', 'я тут', 'ок','хорошо']
channels = ['verify_test']
verify_command = ['no have commands yet']
if str(message.channel) in channels:
if message.author == client.user:
return
msg = message.content.lower()
if any(word in msg for word in hello):
await message.channel.send('Привет!')
if any(word in msg for word in verify_context):
await message.channel.send('Сколько Вам лет?\n`отвечайте цифрой пожалуйста`')
age_min = 14
age_max = 50
msg = await client.wait_for('message', check=check)
attempt = int(msg.content)
if attempt < age_min:
await message.channel.send('none, sorry, 14+')
elif attempt > age_min and attempt < age_max:
await message.channel.send('yeaaaah, come on!!!')
role_verify = get(member.guild.roles, name='Новичок')
await member.add_roles(role_verify)
else:
await message.channel.send('Бип-буп...? :(')
Ошибка:
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\volva\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\volva\Desktop\ChatBotTest\bot.py", line 118, in on_message
role_verify = get(member.guild.roles, name='Новичок')
NameError: name 'get' is not defined
Я понимаю, что ошибка в том, что я не так использую get в on_message. Но не могу понять как это исправить.
Так же, если можно упростить код - буду очень благодарен.