larakit/lk-telegrambot

[Larakit] telegrambot 通知发送

dev-master 2017-09-28 11:13 UTC

This package is auto-updated.

Last update: 2024-09-16 00:04:26 UTC


README

  1. 发送消息给 @BotFather: "/newbot"
  2. 您将被要求输入未来机器人的名称,它应以单词bot结尾。您可以将其命名为"NickNameBot",也可以命名为"nickname_bot"。
  3. 如果机器人的名称未被占用,您将收到一条祝贺您创建机器人的消息,其中还包含您新机器人的令牌。
  4. 发送消息给 @BotFather: "/setinline"
  5. 现在为机器人创建一个域名,如TelegramAPI要求,并将文件webhook.php上传到该域名的根目录。请务必使用https协议。
  6. 通过访问url(例如,https://bot.site.ru/webhook.php)检查机器人的可用性。您应该看到"OK"。
  7. 修正位于文件开头的webhook.php设置中的常量。
//hook-урл вашего бота
define('TELEGRAM_BOT_SERVER_URL', 'https://bot.site.ru/webhook.php');
//токен бота
define('TELEGRAM_BOT_SERVER_TOKEN', '221242699:AA******************');
//получатели через запятую, которым будет отправлена информация о добавлении в группу
define('TELEGRAM_BOT_SERVER_RECIPIENTS', '');
//включение режима отладки, когда все сообщения боту пишутся в лог
define('TELEGRAM_BOT_SERVER_DEBUG', true);
  1. 注册webhook,为此请转到"webhook.php"文件所在的目录的终端,并执行以下操作
$ php webhook.php

之后,在TelegramAPI中将注册地址,记录在TELEGRAM_BOT_SERVER_URL中,所有通知都将发送到那里。9. 将机器人添加到您希望发送通知的Telegram群组中。10. 查看文件https://bot.site.ru/data.txt,您会发现机器人收到的消息。在其中,您将看到自己的名称和ID。将其写入接收者。

define('TELEGRAM_BOT_SERVER_RECIPIENTS', '123456789');

现在,每次将您的机器人添加到新的群组时,您都会在个人资料中看到消息,表明机器人已被添加到该群组,以及向该群组发送消息的示例代码。

频道

有两种通知选项

  1. 如果通知不多,您可以在Telegram中创建一个群组,并将带有哈希标签的通知发送到该群组。
  2. 如果通知很多,最好分散到各个频道,以仅向群组成员显示。

示例,有如下类型的通知

  • 错误(只有程序员可以看到)
  • 通知(程序员和项目经理)
  • 库尔干/莫斯科的保龄球预订
  • 库尔干/莫斯科的节日预订
  • 库尔干/莫斯科的电影票预订

我们可以创建如保龄球/电影/节日类型的群组,或者创建一个用于莫斯科/库尔干的Telegram统一群组。

模块设置

在.env文件中进行以下设置

#для отправки ошибок
telegram.error=-XXXXXXXXXXXXXXXXXX
#для отправки уведомлений
telegram.notify=-XXXXXXXXXXXXXXXXXX
#по вкусу можете добавить еще каналов
telegram.bowling=-XXXXXXXXXXXXXXXXXX
telegram.holiday=-XXXXXXXXXXXXXXXXXX
telegram.cinema=-XXXXXXXXXXXXXXXXXX
telegram.moscow=-XXXXXXXXXXXXXXXXXX
telegram.kurgan=-XXXXXXXXXXXXXXXXXX

发送通知

\Larakit\TelegramBot::add('库尔干的保龄球订单'); \Larakit\TelegramBot::send('bowling');

接下来,系统将在.env中寻找"telegram.bowling"记录,如果找到,则发送到那里。如果没有找到,将寻找通用频道"telegram",如果找到,则发送到那里。如果没有找到,则不向任何人发送。

向多个频道发送通知

\Larakit\TelegramBot::add('库尔干的保龄球订单'); \Larakit\TelegramBot::send(['bowling', 'kurgan', 'notify']);