Telegram 中普通用户和机器人之间的区别
Differentiation between normal users and bots in Telegram
假设我在 Telegram 中创建了一个群组,想开发一个机器人并将其作为管理员添加到群组中。现在,假设这个机器人被编程为向加入该组的用户发送欢迎消息。但是,我们只想将欢迎消息发送给实际的人类用户,而不是可能已添加到该组的其他机器人。这在技术上可行吗?我的意思是,当我开发我的管理机器人时,我怎样才能让它能够区分用户和机器人?有什么问题吗?
当新用户加入您的群组时,您的机器人会获得一个 JSON 对象:
{
message_id: 8,
from: {
id: <user_id>,
is_bot: false,
first_name: 'A',
last_name: 'B',
username: '<adder_username>'
},
chat: {
id: <chat_id>,
title: 'test',
type: 'supergroup'
},
date: 1535443550,
new_chat_participant: {
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
},
new_chat_member: {
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
},
new_chat_members: [{
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
}]
}
检查 msg.new_chat_participant.is_bot 您可以确定它是真实用户还是机器人。
假设我在 Telegram 中创建了一个群组,想开发一个机器人并将其作为管理员添加到群组中。现在,假设这个机器人被编程为向加入该组的用户发送欢迎消息。但是,我们只想将欢迎消息发送给实际的人类用户,而不是可能已添加到该组的其他机器人。这在技术上可行吗?我的意思是,当我开发我的管理机器人时,我怎样才能让它能够区分用户和机器人?有什么问题吗?
当新用户加入您的群组时,您的机器人会获得一个 JSON 对象:
{
message_id: 8,
from: {
id: <user_id>,
is_bot: false,
first_name: 'A',
last_name: 'B',
username: '<adder_username>'
},
chat: {
id: <chat_id>,
title: 'test',
type: 'supergroup'
},
date: 1535443550,
new_chat_participant: {
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
},
new_chat_member: {
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
},
new_chat_members: [{
id: <user_id>,
is_bot: false,
first_name: 's',
username: '<added_username>',
language_code: 'en-us'
}]
}
检查 msg.new_chat_participant.is_bot 您可以确定它是真实用户还是机器人。