Помогите найти ошибку и решить пж
когда я пишу лео команды то бот отвечает типы команд и перечесляет какие есть и когда я пишу лео команды основные то бот пишет не основные команды а обычные типы команд,как исправить ошибку?
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW and event.obj['message']['text'].lower().startswith('лео'):
print(str(event.obj['message']['from_id']) + '[' + str(event.obj['message']['peer_id']) + ']:' +
event.obj['message']['text'])
def message_send(message='', id=event.obj['message']['peer_id'], att='', vk=vk, event=event):
vk.messages.send(peer_id=id, message=message, random_id=random.randint(0, 2 ** 64), attachment=att)
def msg():
msg = event.obj['message']['text'].split()
del msg[0]
text = ' '.join(msg)
return text
def name(vk=vk):
get_info = vk.users.get(user_ids=event.obj['message']['from_id'])
name = '[id' + str(event.obj['message']['from_id']) + '|' + get_info[0]['first_name'] + ' ' + get_info[0][
'last_name'] + ']'
return name
if event.obj['message']['text'].lower().startswith("лео команды"): #Основные команды, список
message_send(f"Тут типы команд\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"")
elif event.obj['message']['text'].lower().startswith == "лео команды основные":
message_send(f"Тут основные команды\n"
f"\n"
f"")
else:
vk.messages.send(peer_id=event.obj['message']['peer_id'], message='Команда не найдена!',
random_id=random.randint(0, 2 ** 64)) #Если команды нету то будет выдовать ошибку
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
попробуйте if и elif поменять местами:
if event.obj['message']['text'].lower().startswith("лео команды основные"): #Основные команды, список
message_send(f"Тут типы команд\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"\n"
f"")
elif event.obj['message']['text'].lower().startswith("лео команды"):
message_send(f"Тут основные команды\n"
f"\n"
f"")