telegrambot /명령어 입력받기

2020. 5. 9. 14:14· 개발

telegrambot /명령어 입력받기! CommandHandler를 사용한다.

이번 글에서는 두 가지를 살펴본다.

 

1. /help 라고 입력할 경우 응답하는 내용

2. /say [사용자 입력값] 라고 입력할 경우 응답하는 내용

 

1. /help 라고 입력할 경우 응답하는 내용

from telegram.ext import Updater, CommandHandler

def help(update, context):
    # 설명
    context.message.reply_text("/help : kairos 사용 명령어 표시\n/create : 알람 생성") 

kairos_token = "[각자의 토큰 입력]"
updater = Updater(kairos_token)
updater.dispatcher.add_handler(CommandHandler('help', help))

updater.start_polling()
updater.idle()

 Updater 와 CommandHandler 를 import 한다

콜백할 변수를 선언한다(help)

update, context  두 가지 인수가 필수

context.message.reply_text("출력할 text")

"출력할 text"에서 \n을 하면 개행이 된다.

토큰을 변수에 저장해두고, Updater에 저장해두면 유용하게 사용할 변수~.~를 만들 수 있다

자 이제 유용하게 사용할 변수~.~를 유용하게 쓰면 된다

updater.dispatcher.add_handler(CommandHandler('help', help))

CommandHandler('[사용자가 입력할 글자', [호출할 함수명]))

 

자 이제 테스트를 해볼까요?

위에 있는 것은 무시해주세요~.~

 

2. /say [사용자 입력값] 라고 입력할 경우 응답하는 내용

from telegram.ext import Updater, CommandHandler

def say(update, context, args):
    output_message = str(context.message.chat_id) + '은 이렇게 말했습니다.\n' + str(args[0])
    context.message.reply_text(output_message) 
    
kairos_token = "[각자의 토큰 입력]"
updater = Updater(kairos_token)
updater.dispatcher.add_handler(CommandHandler('say', say, pass_args=True))

updater.start_polling()
updater.idle()

위와 동일하게 import, token을 발급

say라는 함수를 만들었다. 

인수로는 세 가지가 있다. update, context, args

CommandHandler에서 pass_args=True 라고 설정하여 던져주고, 받는 함수에서는 args 라는 인수로 받게 된다.

첫번째 인자는 사용자가 호출할 이름, 두번째 인자는 호출될 함수명,

세번째는 arguments를 넘길지 여부이다. 기본값은 False 이다.

args[0] 이라고 함수 내에서 쓸 수 있다. 배열 형태로 전달되니 여러 개 전달도 가능. 

오류가 나면 그냥 실행이 안 되어 버린다. 메시지도 없다. 주의!

context.message.chat_id 는 현재 채팅의 아이디이다. 방마다 다르다.

그럼 실행해보겠습니다~.~

 

공식문서에 더 많은 이야기가 있어요: https://python-telegram-bot.readthedocs.io/en/stable/telegram.ext.commandhandler.html

728x90
반응형

'개발' 카테고리의 다른 글

ubuntu file encoding 확인  (1) 2020.05.15
telegrambot 버튼 이어서 진행  (0) 2020.05.09
telegrambot 생성  (0) 2020.05.09
flutter dependency  (0) 2020.05.03
[Pythorch] 참고사이트  (0) 2020.03.20
'개발' 카테고리의 다른 글
  • ubuntu file encoding 확인
  • telegrambot 버튼 이어서 진행
  • telegrambot 생성
  • flutter dependency
내공얌냠
내공얌냠
내공냠냠
내공얌냠
내공냠냠
내공얌냠
전체
오늘
어제
  • 분류 전체보기 (254)
    • 개발 (113)
      • mediapipe (16)
      • insightface (5)
      • JongjuAR (3)
    • 자료구조 알고리즘 (79)
      • 코딩테스트 (64)
      • 이론 (15)
    • 공부 (7)
      • 단행본 (7)
      • 튜토리얼 (19)
      • 논문 (15)
      • 복기 (5)
    • 참여 (5)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 구글 미디어파이프
  • 미디어파이프
  • flutter 행사
  • flutter conference
  • google mediapipe
  • 음성인식 튜토리얼
  • 음성인식 기초
  • ios google places api
  • postgresql install in mac
  • kubeflow설치가이드
  • flutter 행사 후기
  • 플러터 튜토리얼
  • vscode 스프링 설치
  • speaker adaptation tts
  • torchscript vs onnx vs tensorrt
  • python telegrambot
  • kubeflow설치안됨
  • 딥러닝 기반 음성인식 기초
  • flutter tutorial
  • 머신러닝이란
  • mediapipe
  • 컴퓨터 비전
  • 컴퓨터 비전 기초
  • 깃 튜토리얼
  • 플러터
  • postgresql 재설치
  • flutter
  • 컴퓨터 비전 책 추천
  • mediapipe translate
  • git tutorial

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
내공얌냠
telegrambot /명령어 입력받기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.