2017-10-03 3 views
0

Je fais un bot de télégramme avec quelque chose comme une calculatrice, j'essaye d'ajouter toutes les valeurs entrées pour que je puisse enregistrer la valeur dans une variable.Comment ajouter en python pour le télégramme bot

 numpad = InlineKeyboardMarkup(inline_keyboard=[ 
      [InlineKeyboardButton(text='1', callback_data= '1'), 
      InlineKeyboardButton(text='2', callback_data= '2'), 
      InlineKeyboardButton(text='3', callback_data= '3')], 
      [InlineKeyboardButton(text='4', callback_data= '4'), 
      InlineKeyboardButton(text='5', callback_data= '5'), 
      InlineKeyboardButton(text='6', callback_data= '6')], 
      [InlineKeyboardButton(text='7', callback_data= '7'), 
      InlineKeyboardButton(text='8', callback_data= '8'), 
      InlineKeyboardButton(text='9', callback_data='9')], 
      [InlineKeyboardButton(text='0', callback_data='0'), 
      InlineKeyboardButton(text='.', callback_data='.')], 
      [InlineKeyboardButton(text='ENTER', callback_data='done')], 
           ]) 

     bot.sendMessage(from_id, 'How much u wanna change bro', reply_markup=numpad) 

    if query_data in ['1','2','3','4','5','6','7','8','9','0']: 
     print('hi') 
     amt= [] 
     for query_data in amt: 
      amt.append(query_data) 
      z = list[amt] 
    if query_data == 'done': 
     bot.sendMessage(from_id, "is this the amount you want to change{}?".format(z)) 
     print (z) 
+0

Comment recevez-vous la réponse de l'utilisateur? Où est le code pour ça? – mhawke

+0

l'entrée de l'utilisateur provient du pavé numérique dans le télégramme bot. Mon shell est l'impression de l'entrée, mais ne pas ajouter dans la liste "amt" –

Répondre

0

ici:

for query_data in amt: 
    amt.append(query_data) 
    z = list[amt] 

dans la ligne 1, Faites votre moyenne de "amt", est "numpad"? parce que "mean" est une liste vide et vous voulez le remplir après "pour". Alors peut-être le code correct est:

for query_data in numpad: 
    amt.append(query_data) 
    z = list[amt] 
+0

n'est pas le pavé numérique juste une variable de clavier? –

+0

oh désolé. Je n'ai pas travaillé avec la bibliothèque de télégramme bot python. mais juste je pense que cela a une valeur donc cela peut insérer dans "pour". Généralement, vous devriez chercher une variable qui a le montant de l'entrant et le coller. au lieu de "amt" insert La variable contient les entrées de l'utilisateur et au lieu de "query_data" s insérer le nom des variables "for". Aussi, si vous rencontrez des problèmes avec "pour", voir: https://docs.python.org/3/tutorial/controlflow.html#for-statements –