我正在尝试使用电报bot API将按钮发送到我的电报bot。现在,对于创建按钮,我必须对字段中的值进行硬编码,但是可以说我想动态地通过数组创建内联键盘按钮,并将数组索引和数组值作为参数传递。我该怎么办?
这是我到目前为止尝试过的。
var menu =["Nightclub","Parks","Restaurants","Telecom","Internet"];
var options = {
reply_markup: JSON.stringify({
inline_keyboard: [
[{ text: 'Some button text 1', callback_data: '1' }],
[{ text: 'Some button text 2', callback_data: '2' }],
[{ text: 'Some button text 3', callback_data: '3' }]
]
})
};
可以说我想在选项内部动态传递菜单数组中的数据。我该怎么办?
最佳答案
如果我对你的理解很好。
我们将在这里使用Array.map函数使用菜单数组创建一个数组。
var menu = ["Nightclub", "Parks", "Restaurants", "Telecom", "Internet"];
var options = {
reply_markup: JSON.stringify({
inline_keyboard: menu.map((x, xi) => ([{
text: x,
callback_data: String(xi + 1),
}])),
}),
};
结果为:
{
reply_markup: JSON.stringify({
inline_keyboard: [
[{
text: 'Nightclub',
callback_data: '1'
}],
[{
text: 'Parks',
callback_data: '2'
}],
[{
text: 'Restaurants',
callback_data: '3'
}],
[{
text: 'Telecom',
callback_data: '4'
}],
[{
text: 'Internet',
callback_data: '5'
}],
],
}),
}
关于javascript - 动态创建嵌入式键盘按钮电报API?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46070358/