2016-09-24 3 views
0

は私が電報用telepot APIのラッパーを使用してカードベースのゲームのボットを作成しようとしていますが、私はそれが水平レイアウトの代わりに垂直レイアウトを使用するようにする方法を見つけ出すことはできません電卓のボットAPIを使用して、Pythonで垂直カスタムキーボードレイアウトをプログラムで作成するにはどうすればよいですか?

サンプルコード:

次に、私はReplyKeyboardMarkup()メソッドでsendMessage()メソッドを使用しますが、テキストの表示に影響する背の高い、細いボタンの行を作成します。

ステップがありませんか?私が使用して、キーの二乗を作成することができました:

keyboard = [[KeyboardButton(text='0'), KeyboardButton(text='1'), KeyboardButton(text='2'), KeyboardButton(text='3')], 
      [KeyboardButton(text='4'), KeyboardButton(text='5'), KeyboardButton(text='6'), KeyboardButton(text='7')], 
      [KeyboardButton(text='8'), KeyboardButton(text='9'), KeyboardButton(text='10'), KeyboardButton(text='11')], 
      [KeyboardButton(text='12'), KeyboardButton(text='13'), KeyboardButton(text='14'), KeyboardButton(text='15')]] 

を私はプログラム的にそれを手動で作成する代わりにすることができたので、私は唯一の第二の方法を使用してキーボードを作成しましたが、私は処理するための方法を持っていません各カードに順番にアクセスすることなく、カードリストに追加することができます。

私は、APIノートに見えたが、私は、私は各カードを作ることによって、縦の列を作成することが可能であろう第二のキーボードの結果に基づいて、私が想定し、私は

を使用することができた何かを見つけることができませんでしたそれが元の配列の中に入れ子にされるので、私の経験ではそうではないことが判明しました

私はステップがありませんか?

答えて

0

電文にキーボードが最初でストリングのアレイ、配列であるのであなたが「ボタンの行」(最初の配列)を作成し、べきことキーボード(二番目の配列)に追加した後にのみ一つの要素として

keyboard = [] 
row1 = ["card1", "card2", "card3"] 
keyboard.append(row1) 
row2 = ["card4", "card5", "card6"] 
keyboard.append(row2) 
print (keyboard) 

>>> 
[['card1', 'card2', 'card3'], ['card4', 'card5', 'card6']] 

あなたはあなたが望むように動的に作成されるように、それをサイクルに入れることができます。

関連する問題