larakit/lk-telegrambot
[Larakit] telegrambot 通知发送
dev-master
2017-09-28 11:13 UTC
Requires
This package is auto-updated.
Last update: 2024-09-16 00:04:26 UTC
README
- 发送消息给 @BotFather: "/newbot"
- 您将被要求输入未来机器人的名称,它应以单词bot结尾。您可以将其命名为"NickNameBot",也可以命名为"nickname_bot"。
- 如果机器人的名称未被占用,您将收到一条祝贺您创建机器人的消息,其中还包含您新机器人的令牌。
- 发送消息给 @BotFather: "/setinline"
- 现在为机器人创建一个域名,如TelegramAPI要求,并将文件webhook.php上传到该域名的根目录。请务必使用https协议。
- 通过访问url(例如,https://bot.site.ru/webhook.php)检查机器人的可用性。您应该看到"OK"。
- 修正位于文件开头的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);
- 注册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');
现在,每次将您的机器人添加到新的群组时,您都会在个人资料中看到消息,表明机器人已被添加到该群组,以及向该群组发送消息的示例代码。
频道
有两种通知选项
- 如果通知不多,您可以在Telegram中创建一个群组,并将带有哈希标签的通知发送到该群组。
- 如果通知很多,最好分散到各个频道,以仅向群组成员显示。
示例,有如下类型的通知
- 错误(只有程序员可以看到)
- 通知(程序员和项目经理)
- 库尔干/莫斯科的保龄球预订
- 库尔干/莫斯科的节日预订
- 库尔干/莫斯科的电影票预订
我们可以创建如保龄球/电影/节日类型的群组,或者创建一个用于莫斯科/库尔干的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']);