텔레 그램 봇용 InlineKeyboardButtons에 대한 콜백을 처리하는 방법

필립 무투 아

인라인 키보드에 대한 콜백을 어떻게 처리합니까? 여기에서이 주제에 관한 문서를 확인하려고했지만이 문제를 해결하는 데 도움이되는 내용을 찾지 못했습니다.

사용자가 아무 버튼이나 누르면 봇이 어떤 버튼이 눌 렸는지 알고 그로 뭔가를 수행하는 것입니다. 지금까지 내 코드 스 니펫이 있습니다.

from django_tgbot.decorators import processor
from django_tgbot.state_manager import message_types, update_types, state_types
from django_tgbot.types.update import Update
from ..bot import state_manager
from ..models import TelegramState
from ..bot import TelegramBot


from django_tgbot.types.inlinekeyboardbutton import InlineKeyboardButton
from django_tgbot.types.inlinekeyboardmarkup import InlineKeyboardMarkup
from django_tgbot.types.keyboardbutton import KeyboardButton
from django_tgbot.types.replykeyboardremove import ReplyKeyboardRemove

from django_tgbot.types.replykeyboardmarkup import ReplyKeyboardMarkup



@processor(state_manager,success='asked_to_select_main_menu_options')
def main_manu_options(bot: TelegramBot, update: Update, state: TelegramState):
    chat_id = update.get_chat().get_id()

    bot.sendMessage(
        chat_id,
        text='What would you like to do?',
        reply_markup=InlineKeyboardMarkup.a(
            inline_keyboard=[
                [
                    InlineKeyboardButton.a('Parking',callback_data='PK'),
                ],
                [
                    InlineKeyboardButton.a('SBP', callback_data='SBP')
                ],
                [
                    InlineKeyboardButton.a('Land Rates',callback_data='LR')
                ],
                [
                    InlineKeyboardButton.a('Rent',callback_data='R')
                ],
                [
                    InlineKeyboardButton.a('Bill Payment',callback_data='B')
                ]
            ]
        )
    )
와우 킨 2

InlineKeyboardButton의 결과로 Update를 처리해야하는 프로세서가 호출 중이며 인수로 CallbackQuery추가해야합니다 update_type. 예제 참조 :

@processor(state_manager, from_states=state_types.All, update_types=[update_types.CallbackQuery])
def handle_callback_query(bot: TelegramBot, update, state):
    callback_data = update.get_callback_query().get_data()
    bot.answerCallbackQuery(update.get_callback_query().get_id(), text='Callback data received: {}'.format(callback_data))

여기에서 라이브러리 와 함께 작동 InlineKeyboardButton하고 활용하는 의 예찾을 수 있습니다django-tgbot .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사용자가 텔레 그램 봇에 유효한 응답을 할 때까지 함수와 핸들러를 반복하는 방법은 무엇입니까?

분류에서Dev

URL에서 텔레 그램 봇의 exe 파일을 보내는 방법

분류에서Dev

봇을위한 텔레 그램 방법 문서화?

분류에서Dev

내 텔레 그램 봇이 스팸 채널에 추가되었습니다. 그것을 제거하는 방법?

분류에서Dev

텔레 그램 봇에서 "그룹 선택"명령을 생성하는 방법은 무엇입니까?

분류에서Dev

텔레 그램 봇에 대한 가져 오기를 사용하여 API 호출에서 다시 줄

분류에서Dev

C #을 사용하여 텔레 그램 봇에서 큰 크기의 캡션을 보내는 방법은 무엇입니까?

분류에서Dev

텔레 그램 봇에서 키보드의 역학을 전달하는 방법은 무엇입니까?

분류에서Dev

웹에 텔레 그램 봇을 배포하는 가장 쉬운 방법은 무엇입니까?

분류에서Dev

터미널에서 텔레 그램을 실행하는 방법

분류에서Dev

터미널에서 텔레 그램을 실행하는 방법

분류에서Dev

텔레 그램 봇에서 chat_id, user_id 및 시간을 얻는 방법은 무엇입니까?

분류에서Dev

텔레 그램에서 동적 명령을 만드는 방법

분류에서Dev

텔레 그램 봇 API C #으로 텔레 그램 메시지 유형을 확인하는 방법은 무엇입니까?

분류에서Dev

npm 라이브러리 Telegraf를 사용하여 데이터베이스의 ID 목록에서 한 번에 모든 텔레 그램 봇 사용자에게 메시지를 보내는 방법

분류에서Dev

모든 사용자에게 작동하지 않는 텔레 그램 봇

분류에서Dev

웹 후크에 응답을 보내는 동안 텔레 그램 봇 API에 대한 요청을 어떻게 수행합니까?

분류에서Dev

node-red의 환경 변수에서 텔레 그램 봇의 이름을 설정하는 방법은 무엇입니까?

분류에서Dev

텔레 봇을 사용하여 서버에서 파일을 보내는 방법은 무엇입니까?

분류에서Dev

그룹에 텔레 그램 봇 추가

분류에서Dev

콜백을 사용하여 각 ansible 플레이 북 작업에 대한 stdout / stdmsg를 캡처하는 방법은 무엇입니까?

분류에서Dev

방화벽을 통한 텔레 그램 허용 : 열어야하는 포트를 찾는 방법은 무엇입니까?

분류에서Dev

텔레 그램 봇에 딥 링크

분류에서Dev

텔레 그램 봇이 null을 반환

분류에서Dev

텔레 그램 인라인 봇으로 메시지를 보내는 방법

분류에서Dev

KeyboardButton 텔레 그램 봇에 request_contact 사용

분류에서Dev

iMessage 확장 프로그램에서 "허용 안 함"권한을 처리하는 방법은 무엇입니까?

분류에서Dev

텔레 그램 봇을 통해 그룹에서 사용자 메시지 제거 및 업데이트

분류에서Dev

텔레 톤 텔레 그램 봇에 투표를 보내

Related 관련 기사

  1. 1

    사용자가 텔레 그램 봇에 유효한 응답을 할 때까지 함수와 핸들러를 반복하는 방법은 무엇입니까?

  2. 2

    URL에서 텔레 그램 봇의 exe 파일을 보내는 방법

  3. 3

    봇을위한 텔레 그램 방법 문서화?

  4. 4

    내 텔레 그램 봇이 스팸 채널에 추가되었습니다. 그것을 제거하는 방법?

  5. 5

    텔레 그램 봇에서 "그룹 선택"명령을 생성하는 방법은 무엇입니까?

  6. 6

    텔레 그램 봇에 대한 가져 오기를 사용하여 API 호출에서 다시 줄

  7. 7

    C #을 사용하여 텔레 그램 봇에서 큰 크기의 캡션을 보내는 방법은 무엇입니까?

  8. 8

    텔레 그램 봇에서 키보드의 역학을 전달하는 방법은 무엇입니까?

  9. 9

    웹에 텔레 그램 봇을 배포하는 가장 쉬운 방법은 무엇입니까?

  10. 10

    터미널에서 텔레 그램을 실행하는 방법

  11. 11

    터미널에서 텔레 그램을 실행하는 방법

  12. 12

    텔레 그램 봇에서 chat_id, user_id 및 시간을 얻는 방법은 무엇입니까?

  13. 13

    텔레 그램에서 동적 명령을 만드는 방법

  14. 14

    텔레 그램 봇 API C #으로 텔레 그램 메시지 유형을 확인하는 방법은 무엇입니까?

  15. 15

    npm 라이브러리 Telegraf를 사용하여 데이터베이스의 ID 목록에서 한 번에 모든 텔레 그램 봇 사용자에게 메시지를 보내는 방법

  16. 16

    모든 사용자에게 작동하지 않는 텔레 그램 봇

  17. 17

    웹 후크에 응답을 보내는 동안 텔레 그램 봇 API에 대한 요청을 어떻게 수행합니까?

  18. 18

    node-red의 환경 변수에서 텔레 그램 봇의 이름을 설정하는 방법은 무엇입니까?

  19. 19

    텔레 봇을 사용하여 서버에서 파일을 보내는 방법은 무엇입니까?

  20. 20

    그룹에 텔레 그램 봇 추가

  21. 21

    콜백을 사용하여 각 ansible 플레이 북 작업에 대한 stdout / stdmsg를 캡처하는 방법은 무엇입니까?

  22. 22

    방화벽을 통한 텔레 그램 허용 : 열어야하는 포트를 찾는 방법은 무엇입니까?

  23. 23

    텔레 그램 봇에 딥 링크

  24. 24

    텔레 그램 봇이 null을 반환

  25. 25

    텔레 그램 인라인 봇으로 메시지를 보내는 방법

  26. 26

    KeyboardButton 텔레 그램 봇에 request_contact 사용

  27. 27

    iMessage 확장 프로그램에서 "허용 안 함"권한을 처리하는 방법은 무엇입니까?

  28. 28

    텔레 그램 봇을 통해 그룹에서 사용자 메시지 제거 및 업데이트

  29. 29

    텔레 톤 텔레 그램 봇에 투표를 보내

뜨겁다태그

보관