问题描述
我正在使用 laravel-notification-channels/telegram 我已经为我的用户实现了欢迎通知,我的机器人发送该消息没有问题,我实现的第二部分是添加这些用户(我发送了欢迎消息)进入我的频道。
逻辑
代码
Note:
我的代码目前只够发送欢迎信息,与将用户添加到频道无关...
public $user;
public $telegram_id;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($user,$telegram_id)
{
$this->user = $user;
$this->telegram_id = $telegram_id;
}
public function toTelegram($notifiable)
{
// first message to bot (to recognize the user)
TelegramMessage::create()
->to('MY_BOT_ID');
// then message the user from bot
return TelegramFile::create()
->to($this->telegram_id) // registered user ID on telegram
->content("Hello");
}
// (NEXT) add user to channel
//.....
有什么想法吗?
解决方法
我担心机器人 API 无法做到这一点,因为没有相应的 API 方法(请参阅 Telegram Bot API)。
但是,您可以向用户提供聊天的邀请链接,以便他们加入。您可以使用 exportChatInviteLink method 生成邀请链接,但这不能通过 laravel-notification-channels/telegram
完成。也许您可以通过 API 手动生成链接,将其添加到您的应用程序中,然后将链接发送给用户。
如果您真的希望将用户添加到聊天中,您可以使用 channels.inviteToChannel 上的 client API 方法。 MadelineProto 是一个 PHP Telegram 客户端库,can do that。