telebot.nim
2024.12.17
Implementierung des Async Telegram Bot API-Clients in @Nim-Lang
Ab Version 1.0.0 sind Prozesse wie newMessage
, newPhoto
“ usw. nicht mehr vorhanden. Verwenden Sie stattdessen sendMessage
und sendDocument
. Wenn Sie immer noch die alte/hässliche Art des Sendens bevorzugen, importieren Sie einfach telebot/compat
für Abwärtskompatibilität
$ 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 )
Weitere Informationen finden Sie auf der offiziellen Telegram Bot API-Seite