telebot.nim
2024.12.17
@Nim-Lang での非同期テレグラム ボット API クライアントの実装
バージョン 1.0.0 以降、 newMessage
、 newPhoto
などの proc は廃止され、代わりに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 ページを参照してください。