Как сделать подменю?
Я хотел бы помочь сделать подменю, из номера меню "1". Я попытался использовать код ниже, но он не работал.
Вот мой код:
@signals.message_received.connect
def handle(message):
# Main menu
if message.command == "Olá":
menuPrincipal(message)
# 1 - Budgeting
elif message.command == "1":
orcamentos(message)
# 2 - Track an order already in progress
elif message.command == "2":
pedidoAndamento(message)
# 3 - Change the date, time or location of the event
elif message.command == "3":
alterarPedido(message)
# 4 - Special Offers
elif message.command == "4":
promocoes(message)
# 5 - Speak to a representative
elif message.command == "5":
chamarRepresentante(message)
Ниже orcamentos()
Функция, которую я хотел бы поставить в качестве подменю:
def orcamentos(message):
mac.send_message(txtOrcamentos, message.conversation)
# 1 Party kit
if message.command == "1":
partyKit(message)
# 2 Confectionery cake
elif message.command == "2":
confCake(message)
# 3 Salty pie
elif message.command == "3":
saltPie(message)
# 4 Cupcakes
elif message.command == "4":
cupcakes(message)
# 5 Sweets
elif message.command == "5":
sweets(message)
# 6 Salty
elif message.command == "6":
salty(message)
1 ответ
Вы можете использовать регулярное выражение или ключевое слово " in ", например: "1" в message.command: но я предпочту использовать регулярное выражение, так что будет более точно определено, какие типы пользователей являются командами или нет.
Кроме того, если вы хотите сжать ваши файлы (поскольку у меня в боте около 30+ меню), вы, вероятно, захотите сохранить их в отдельном файле, так что вы можете использовать этот интерфейсный файл ' yowsup.layers.interface ', который содержит ' YowInterfaceLayer, ProtocolEntityCallback '.
"^ fun $" это регулярное выражение обнаружит слово fun, а "^wiki (?P[^$]+)$" обнаружит слово после ключевого слова wiki, поэтому у него будет гораздо больше контроля над командами.