Hero467
Utente Attivo
- Messaggi
- 695
- Reazioni
- 406
- Punteggio
- 75
Salve a tutti,
sto scrivendo un bot telegram per diletto, e mi sono trovato davanti questo problema:
Io la variabile in questione l'ho inizializzata prima della dichiarazione della funzione, quindi non capisco il problema.
Codice:
sto scrivendo un bot telegram per diletto, e mi sono trovato davanti questo problema:
Codice:
Traceback (most recent call last):
File "/home/ricky/.local/lib/python3.10/site-packages/telegram/ext/dispatcher.py", line 557, in process_update
handler.handle_update(update, self, check, context)
File "/home/ricky/.local/lib/python3.10/site-packages/telegram/ext/handler.py", line 199, in handle_update
return self.callback(update, context)
File "/home/ricky/Scrivania/Coding/bot.py", line 18, in rispondi
case 'ciao': res_ciao()
File "/home/ricky/Scrivania/Coding/bot.py", line 27, in res_ciao
match ciao_counter:
UnboundLocalError: local variable 'ciao_counter' referenced before assignment
Io la variabile in questione l'ho inizializzata prima della dichiarazione della funzione, quindi non capisco il problema.
Codice:
Python:
from random import *
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
TOKEN = 'CENSURA'
ciao_counter = 0
ciao_list = ['ciao', 'ehi', 'sciao', 'hello', 'hola', 'bonjour']
def start(update, context):
update.message.reply_text('''
Ciao
''')
def rispondi(update, context):
msg = update.message.text.lower()
match msg:
case 'ciao': res_ciao()
updater = Updater(TOKEN)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(MessageHandler(Filters.text, rispondi))
updater.start_polling()
def res_ciao():
match ciao_counter:
case 0:
updater.message.reply_text(choice(ciao_list))
ciao_counter += 1
case _:
updater.message.reply_text('...')
Ultima modifica: