telebot.nim
2024.12.17
@Nim-Lang에 Async Telegram Bot API 클라이언트 구현
버전 1.0.0부터 newMessage
, newPhoto
,.. 를 좋아하는 procs가 사라졌습니다. 대신 sendMessage
, sendDocument
사용하세요. 여전히 물건을 보내는 오래되고 추악한 방법을 선호한다면 이전 버전과 호환되도록 telebot/compat
가져오십시오.
$ nimble install telebot
import telebot, asyncdispatch, logging, options, strutils
var L = newConsoleLogger (fmtStr = " $levelname, [$time] " )
addHandler (L)
# remember to strip your secret key to avoid HTTP error
const API_KEY = strip ( slurp ( " secret.key " ))
proc updateHandler (b: Telebot , u: Update ): Future [ bool ] {. async .} =
if u.message.isNil:
# return true will make bot stop process other callbacks
return true
var response = u.message
if response.text.len > 0 :
let text = response.text
discard await b. sendMessage (response.chat.id, text, parseMode = " markdown " , disableNotification = true , replyParameters = ReplyParameters (messageId: response.messageId))
let bot = newTeleBot ( API_KEY )
bot. onUpdate (updateHandler)
bot. poll (timeout = 300 )
import telebot, asyncdispatch, options, logging, strutils
# remember to strip your secret key to avoid HTTP error
const API_KEY = strip ( slurp ( " secret.key " ))
proc updateHandler (bot: TeleBot , update: Update ): Future [ bool ] {. async .} =
discard await bot. sendPhoto (response.chat.id, " file:///path/to/photo.jpg " )
let bot = newTeleBot ( API_KEY )
bot. onUpdate (updateHandler)
bot. poll (timeout = 300 )
자세한 내용은 공식 Telegram Bot API 페이지를 참조하세요.