Я экспериментирую / немного развлекаюсь с волновым роботом python apiv2.
Я сделал маленькое приложение для 8ball для робота, которое отлично работает, и теперь я пытаюсь сделать приложение пустяков.
Я никогда не программировал на Python, но я уверен, что мой синтаксис правильный. Вот соответствующий код:
elif (bliptxt == "\n!strivia"):
reply = blip.reply()
if (triviaStatus != "playing"):
reply.append("Trivia Started!")
triviaStatus = "playing"
else:
reply.append("Trivia is already running!")
elif (bliptxt == "\n!etrivia"):
reply = blip.reply()
if (triviaStatus == "playing"):
reply.append("Trivia Ended!")
triviaStatus = "stopped"
else:
reply.append("Trivia is not running! To start trivia, type !strivia")
else: (snipped out)
Хорошо, в общем, я хочу, чтобы он работал так, чтобы, когда кто-то нажимал «стривиа», бот распознавал, что кто-то хочет играть, поэтому он сначала проверяет переменную с именем triviaStatus, чтобы увидеть, играем ли мы уже, и идет ли оттуда. Довольно простые вещи.
Для того, чтобы это работало (и, фактически, этот код действительно предназначен для проверки этого вопроса), переменные должны были бы эффективно походить на переменные php $ _SESSION - то есть, они запоминают значение переменной каждый время кто-то мигает и не сбрасывается каждый раз.
Тем не менее, так ли это (если это не так, я предполагаю, что могу сделать то же самое, сохранив настройки переменных в текстовом файле или что-то в этом роде), я озадачен, потому что приведенный выше код не работает вообще , То есть робот не отвечает ни на стривию, ни на этривию. Если переменные не были сохранены, то если робот что-то должен просто ответить «Trivia Started» или «Trivia not running!» каждый раз. Но он просто не отвечает вообще.
Если я уберу проверку на triviaStatus, робот ОТВЕЧАЕТ. Но тогда нет логики, и я не могу проверить свой вопрос.
Я также попытался создать! Trivstatus, где он ответил бы с
"Trivia status is " + triviaStatus
но это ТАКЖЕ душило. Почему каждый раз, когда я хочу использовать triviaStatus, бот просто умирает? Обратите внимание, что я в состоянии установить triviaStatus нормально (я просто не могу проверить, что вывод, отвечая на него ....)
Итак, чтобы подвести итог ... почему вышеприведенный код не работает, но работает следующий код:
elif (bliptxt == "\n!strivia"):
reply = blip.reply()
reply.append("Trivia Started!")
trivia_status = "playing"
elif (bliptxt == "\n!etrivia"):
reply = blip.reply()
reply.append("Trivia Ended!")
trivia_status = "stopped"
Спасибо!