При создании кнопок вы назначаете им «action_id» и «значение». Идентификатор действия также является именем функции, вызываемой при нажатии кнопки. Я хочу предложить несколько кнопок с одним и тем же action_id и разными значениями, но использование одного и того же action_id несколько раз запрещено. Я создал функцию, которая делает то, что я хочу, а затем для каждой из моих кнопок я генерирую одноразовую функцию, которая вызывает фактическую функцию, которая делает то, что я хочу:
Код: Выделить всё
# simplified example
def real_function(value):
print(f"I am the real deal! {value}")
for button in button_list:
@app.action(button['name'])
async def action_action(ack, action, say,):
logger.debug(f"Someone called {action}")
await ack()
await real_function(value=action['value'])
Как заставить несколько кнопок вызывать одну и ту же функцию без этого?
Я не хочу делать множественный выбор. Я хочу предложить несколько кнопок.
Подробнее здесь:
https://stackoverflow.com/questions/798 ... e-function