Merge pull request #5 from code1mountain/verified_scam

Added is_verified and is_scam
This commit is contained in:
giuseppeM99 2020-11-18 17:04:39 +01:00 committed by GitHub
commit e762e9e832
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 0 deletions

View File

@ -112,6 +112,16 @@ The `ChatMember` object now has two new fields:
- `joined_date`: integer, unix timestamp, when has the user joined - `joined_date`: integer, unix timestamp, when has the user joined
- `inviter`: `User`, the inviter - `inviter`: `User`, the inviter
#### Object `Chat`
The `Chat` object now has two new fields:
- `is_verified`: bool, optional, default false. Is the chat verified by Telegram, clients show a verified batch
- `is_scam`: bool, optional, default false. Is the chat reported for scam, clients show a warning to the user
#### Object `User`
The `User` object now has two new fields:
- `is_verified`: bool, optional, default false. Is the user verified by Telegram, clients show a verified batch
- `is_scam`: bool, optional, default false. Is the user reported for scam, clients show a warning to the user
In addition, the member list now shows the full bot list (previously only the bot that executed the query was shown) In addition, the member list now shows the full bot list (previously only the bot that executed the query was shown)
<a name="installation"></a> <a name="installation"></a>

View File

@ -331,6 +331,12 @@ class Client::JsonUser : public Jsonable {
if (user_info != nullptr && !user_info->language_code.empty()) { if (user_info != nullptr && !user_info->language_code.empty()) {
object("language_code", user_info->language_code); object("language_code", user_info->language_code);
} }
if (user_info != nullptr && user_info->is_verified) {
object("is_verified", td::JsonBool(user_info->is_verified));
}
if (user_info != nullptr && user_info->is_scam) {
object("is_scam", td::JsonBool(user_info->is_scam));
}
if (is_bot && full_bot_info_) { if (is_bot && full_bot_info_) {
object("can_join_groups", td::JsonBool(user_info->can_join_groups)); object("can_join_groups", td::JsonBool(user_info->can_join_groups));
object("can_read_all_group_messages", td::JsonBool(user_info->can_read_all_group_messages)); object("can_read_all_group_messages", td::JsonBool(user_info->can_read_all_group_messages));
@ -584,6 +590,12 @@ class Client::JsonChat : public Jsonable {
object("username", user_info->username); object("username", user_info->username);
} }
object("type", "private"); object("type", "private");
if (user_info->is_verified) {
object("is_verified", td::JsonBool(user_info->is_verified));
}
if (user_info->is_scam) {
object("is_scam", td::JsonBool(user_info->is_scam));
}
if (is_full_) { if (is_full_) {
if (!user_info->bio.empty()) { if (!user_info->bio.empty()) {
object("bio", user_info->bio); object("bio", user_info->bio);
@ -629,6 +641,12 @@ class Client::JsonChat : public Jsonable {
} else { } else {
object("type", "channel"); object("type", "channel");
} }
if (supergroup_info->is_verified) {
object("is_verified", td::JsonBool(supergroup_info->is_verified));
}
if (supergroup_info->is_scam) {
object("is_scam", td::JsonBool(supergroup_info->is_scam));
}
if (is_full_) { if (is_full_) {
if (!supergroup_info->description.empty()) { if (!supergroup_info->description.empty()) {
object("description", supergroup_info->description); object("description", supergroup_info->description);
@ -7966,6 +7984,8 @@ void Client::add_user(std::unordered_map<int32, UserInfo> &users, object_ptr<td_
user_info->last_name = user->last_name_; user_info->last_name = user->last_name_;
user_info->username = user->username_; user_info->username = user->username_;
user_info->language_code = user->language_code_; user_info->language_code = user->language_code_;
user_info->is_verified = user->is_verified_;
user_info->is_scam = user->is_scam_;
user_info->have_access = user->have_access_; user_info->have_access = user->have_access_;
@ -8035,6 +8055,8 @@ void Client::add_supergroup(std::unordered_map<int32, SupergroupInfo> &supergrou
supergroup_info->status = std::move(supergroup->status_); supergroup_info->status = std::move(supergroup->status_);
supergroup_info->is_supergroup = !supergroup->is_channel_; supergroup_info->is_supergroup = !supergroup->is_channel_;
supergroup_info->has_location = supergroup->has_location_; supergroup_info->has_location = supergroup->has_location_;
supergroup_info->is_verified = supergroup->is_verified_;
supergroup_info->is_scam = supergroup->is_scam_;
} }
void Client::set_supergroup_description(int32 supergroup_id, td::string &&descripton) { void Client::set_supergroup_description(int32 supergroup_id, td::string &&descripton) {

View File

@ -561,6 +561,8 @@ class Client : public WebhookActor::Callback {
td::string bio; td::string bio;
bool is_verified = false;
bool is_scam = false;
bool have_access = false; bool have_access = false;
bool can_join_groups = false; bool can_join_groups = false;
bool can_read_all_group_messages = false; bool can_read_all_group_messages = false;
@ -597,6 +599,8 @@ class Client : public WebhookActor::Callback {
bool is_supergroup = false; bool is_supergroup = false;
bool can_set_sticker_set = false; bool can_set_sticker_set = false;
bool has_location = false; bool has_location = false;
bool is_verified = false;
bool is_scam = false;
}; };
static void add_supergroup(std::unordered_map<int32, SupergroupInfo> &supergroups, static void add_supergroup(std::unordered_map<int32, SupergroupInfo> &supergroups,
object_ptr<td_api::supergroup> &&supergroup); object_ptr<td_api::supergroup> &&supergroup);