ketari/telegram-bundle

Kaula TelegramBundle

安装: 104

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 2

分支: 0

公开问题: 13

类型:symfony-bundle


README

已知问题

无已知问题。

配置

  • telegram.secret -- 不为公众所知的任意密钥。此密钥在设置webhook时用于telegram.url参数。想法是生成的URL只为你和Telegram服务器所知,因此你可以信任你在端点收到的更新。一个好的主意是让它相当长(例如[0-9a-z]{32})。
  • telegram.token -- 从BotFather那里获得的Telegram机器人API密钥。
  • telegram.certificate_file -- 注册webhook时发送给Telegram服务器的证书的公开部分。这可能是一个自签名证书,请参阅Telegram文档
  • telegram.url -- 包含{secret}子串的此机器人的URL。例如:https://www.your-domain.com/api/v1/{secret}/webhook
  • telegram.self_user_id -- Telegram机器人的“用户ID”。它用于在加入/离开聊天事件中区分机器人本身。

事件

处理更新周期

  • telegram.update.incoming -- 调用handleUpdate()方法。事件必须返回一个Update对象或抛出异常。
    • 0:FilterSubscriber -- 抛弃传入数据。
  • telegram.update.received -- 当Update对象准备就绪时。
    • 90000:AuditSubscriber -- 写入传入日志。
    • 80000:CurrentUserSubscriber -- 使用UserHq类查找当前用户。
    • 70000:HookerSubscriber -- 查找并执行钩子。
  • [待定] telegram.hook.before -- 在执行钩子之前。
  • [待定] telegram.hook.after -- 执行钩子之后。
  • telegram.message.received -- 当在传入的Update中找到Message时。
    • 90000:IdentityWatchdogSubscriber -- 更新当前用户的User和Chat表;当用户向机器人发送第一条消息时,添加默认角色和权限。
    • 0:MessageSubscriber -- 如果文本不为空,则分发进一步的事件。
    • –90000:MessageSubscriber -- 检查请求是否已被处理。如果没有,则向用户发送消息。
  • telegram.text.received -- 当Message对象中的文本不为空时。
    • 90000:ChatMemberSubscriber -- 更新ChatMember表。
    • 80000:TextSubscriber -- 检查命令并分发进一步的事件。
  • telegram.command.received -- 当在文本中检测到命令时。
    • 0:CommandSubscriber -- 执行命令的CommandBus服务。
  • telegram.command.unknown -- 命令对CommandBus未知。
    • 0:CommandSubscriber -- 告诉用户命令未知。
  • telegram.command.unauthorized -- 用户权限不足。
    • 0:CommandSubscriber -- 告诉用户他没有权限执行该命令。
  • telegram.command.executed -- 执行命令之后。
  • telegram.user.registered -- 当执行/register命令且用户完成注册时。
  • telegram.chatmember.joined -- 群组中的新聊天成员。
    • 0:ChatMemberSubscriber -- 处理新聊天成员。
  • telegram.chatmembers.joined -- 群组中的一或多个新聊天成员。
  • telegram.chatmember.bot_joined -- 机器人本身加入了群组。
  • telegram.chatmember.left -- 聊天成员离开了群组。
    • 0:ChatMemberSubscriber -- 处理离开的聊天成员。
  • telegram.chatmember.bot_left -- 机器人本身离开了群组。
  • telegram.group.created -- 创建了新群组。
    • 0:分组订阅者 -- 处理新分组的创建。
  • telegram.chat.migrated_to -- 迁移到聊天ID。
    • 0:迁移订阅者 -- 处理群组迁移。
  • telegram.chat.migrated_from -- 从聊天ID迁移。
    • 0:迁移订阅者 -- 处理群组迁移。
  • [待定] telegram.response -- 当机器人准备响应Webhook并准备好发送时。
  • telegram.request.sent -- 已向Telegram API发送请求。
    • –90000:审计订阅者 -- 编写输出日志。
  • telegram.request.blocked -- 当机器人被用户阻止或被踢出群组时。
  • telegram.request.throttled -- 防洪控制抛出异常。
  • telegram.request.exception -- 在向Telegram API发送请求时发生异常。
  • telegram.terminate -- 在循环即将结束时运行任何昂贵的操作。