【发布时间】:2019-04-25 17:10:43
【问题描述】:
我们如何从群组中踢出电报 BOT? 我正在使用 Telegram bot API 开发一个电报机器人来踢出添加到组中的其他机器人。
【问题讨论】:
-
获取新的聊天成员信息,如果新的聊天成员的用户名结束,机器人会被踢出
标签: telegram telegram-bot
我们如何从群组中踢出电报 BOT? 我正在使用 Telegram bot API 开发一个电报机器人来踢出添加到组中的其他机器人。
【问题讨论】:
标签: telegram telegram-bot
如果您通过 Botfather 将您的机器人的群组隐私设置为关闭,您的机器人将在群组中获取新消息作为更新。加入新用户后,您将在处理程序中收到一条 json 消息,您可以通过检查 msg.new_chat_member.is_bot 值来检查它是否是机器人。那么您可以使用机器人的 kickChatMember API 来踢出该用户。
【讨论】:
如果你想删除自己的机器人,我认为没有办法,只能询问组的主要管理员(或其他可以删除成员的人)
但是,如果您想删除加入您的群组的机器人,您可以使用以下代码(IN PHP):
function send_reply($url, $post_params) {
$cu = curl_init();
curl_setopt($cu, CURLOPT_URL, $url);
curl_setopt($cu, CURLOPT_POSTFIELDS, $post_params);
curl_setopt($cu, CURLOPT_RETURNTRANSFER, true); //get result
$result = curl_exec($cu);
curl_close($cu);
return $result;
}
$kickchatmember_url = "https://api.telegram.org/bot[Bot-TOKEN]"."/kickChatMember";
$update = file_get_contents("php://input");
$update_array = json_decode($update, true);
$newchatparticipent = $update_array["message"]["new_chat_participant"];
$chat_id = $newchatparticipent["id"];
$bot_or_not = $newchatparticipent["is_bot"];
if($bot_or_not == 'true'){
$kick_post_prs = array('chat_id' => $Group_id , 'user_id' => $chat_id);
send_reply($kickchatmember_url , $kick_post_prs);
}
我们开始吧!
【讨论】: