SwiftyBot Banner

Telegrammer

Telegram Bot 框架,使用 Swift 5.1 和 SwiftNIO 网络框架编写

Build Version Language Platform License

它的作用

Telegrammer 是一个面向 Telegram Bot 开发者的开源框架。它构建于 Apple/SwiftNIO 之上。

加入我们的 Telegram 开发者聊天群,加入我们的 Telegrammer 频道,在 Vapor Discord 服务器 上。

最简单的 Echo Bot 代码如下所示


main.swift

import Foundation
import Telegrammer

do {
    let bot = try Bot(token: "BOT_TOKEN_HERE")

    let echoHandler = MessageHandler { (update, _) in
        _ = try? update.message?.reply(text: "Hello \(update.message?.from?.firstName ?? "anonymous")", from: bot)
    }

    let dispatcher = Dispatcher(bot: bot)
    dispatcher.add(handler: echoHandler)

    _ = try Updater(bot: bot, dispatcher: dispatcher).startLongpolling().wait()
} catch {
    exit(1)
}

文档

不使用 Vapor 的用法

使用 Vapor 的用法

演示 bots

所有示例 bots

  1. 环境变量 中添加 Telegram Token,因此,创建环境变量
$ export TELEGRAM_BOT_TOKEN='000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
  1. 运行 Bot 可执行文件 scheme 或
$ swift run

EchoBot 源码 使用命令 "/echo" 启动/停止,然后简单地回复你的消息

HelloBot 源码 在群组中向新用户说 "Hello"。使用命令 "/greet" 回复 "hello" 消息

SchedulerBot 源码 演示 Jobs Queue 调度机制。命令 "/start X" 启动一个可重复的任务,该任务会每隔 X 秒向你发送一条消息。命令 "/once X" 将在 X 秒超时后向你发送一次消息。命令 "/stop" 仅为你停止 JobsQueue。其他用户继续接收计划消息。

SpellCheckerBot 源码 演示 InlineMenus 和 Callback 处理程序的工作方式。命令 "/start" 将启动 bot。向 bot 发送任何英文文本,它将检查错误。如果发现错误,Bot 将向你提供一些修复建议。

要求

贡献

参见 CONTRIBUTING.md 文件。

作者

Givi Pataridze

pataridzegivi@gmail.com @givip