반응형
- 마크다운변환 : 20191001
텔래그램봇을 이용하여 놀고있다.
간단한 코드를 예제를 올려놓는다.
필요한 모듈
telepot 모듈하나면 텔레그램 봇이 뚝딱!
pip install telepot
간단한 wrapper class
import sys
import os
import telepot
import subprocess
import json
import sched, time
from telepot.delegate import per_chat_id, create_open
from telepot.loop import MessageLoop
class MyTelegram:
def __init__(self, recv_msg_func):
self._recv_msg_func = recv_msg_func
self._bot_token = CONFIG_TELEGRAM_BOT_TOKEN
self._valid_user = CONFIG_TELEGRAM_MSG_VALID_USER_ID
self._su_user = CONFIG_TELEGRAM_MSG_SUPER_USER_ID
#self._svrHelper = SvrHelper()
#self.bot = telepot.Bot('TOKEN')
self.bot = telepot.DelegatorBot(self._bot_token, [(per_chat_id(), create_open(SvrHelper, timeout=120)),])
self.bot.sendMessage(self._su_user, '봇 서비스 시작 합니다 ')
#self.bot.setWebhook()
#self.bot.setWebhook()
MessageLoop(self.bot, recv_msg_func).run_as_thread()
def sendmsg(self, msg) :
self.bot.sendMessage(self._su_user, msg)
def recvmsg_handler_reg(self, func) :
self.bot.setWebhook()
MessageLoop(self.bot, func).run_as_thread()
사용방법
def msg_hander(msg) :
print(msg['text'])
telegram = MyTelegram(msg_hander)
telegram.sendmsg("hello?")
timer_service_hour()
- msg_handler 부분에 원하는 코드를 넣으면된다.
- su_user 의 경우 메시지 받고자하는 사용자의 코드를 넣는다.
...
파이썬은 참 재밌다.
반응형