알림 & 텔레그램 봇 API

알림 & 텔레그램 봇 API

M 소주6잔 0 899 1 0

알림 API


 

import framework.common.notify as Notify

Notify.send_message(telegram_log, image_url=img, message_id='fileprocess_ktv_result')

 


 

함수 원형

def send_message(text, message_id=None, image_url=None):


text : 전송할 내용

message_id : message_id. 생략시 DEFAULT 로 전송

image_url : 이미지 URL을 같이 전송할 경우 입력


 

텔레그램 봇 사용


봇을 통해 전체 사용자에게 정보를 전달할 때 사용합니다. 

보낼 정보를 dict 형태로 가공하고, 이 정보를 처리할 플러그인 이름을 넣어줍니다.

dict를 json.dumps 로 text로 만든 후 super_send_message 함수를 호출하면 전 텔레그램 채널에 메시지를 전송합니다.


telegram = {}

telegram['plugin'] = 'bot_downloader_ktv'

telegram['data'] = data

                           

text = json.dumps(telegram)


from framework.common.telegram_bot import TelegramBot

TelegramBot.super_send_message(text)









 

if 'plugin' in data:

  try:

    plugin_name = data['plugin']

    mod = __import__('%s' % (plugin_name), fromlist=[])

    mod_process_telegram_data = getattr(mod, 'process_telegram_data')

    if mod_process_telegram_data:

      mod.process_telegram_data(data['data'])

      return

    except ImportError:

      logger.error('%s not installed!! ' % plugin_name)

    except Exception as e:

      logger.error('Exception:%s', e)

      logger.error(traceback.format_exc())

    return


메시지를 수신한 곳에서는 이 데이터를 처리할 “plugin”을 찾은 후 process_telegram_data 함수를 호출하게 되고, 개별 플러그인에서 data를 적절히 처리하면 됩니다.

 


0 Comments
Category
State
  • 현재 접속자 29(15) 명
  • 오늘 방문자 371 명
  • 어제 방문자 1,139 명
  • 최대 방문자 1,331 명
  • 전체 방문자 89,625 명
  • 전체 게시물 48,308 개
  • 전체 댓글수 6,183 개
  • 전체 회원수 2,835 명
Facebook Twitter GooglePlus KakaoStory NaverBand