diff --git a/README.md b/README.md
index 6f032ab..e6e11e0 100644
--- a/README.md
+++ b/README.md
@@ -112,6 +112,16 @@ The `ChatMember` object now has two new fields:
- `joined_date`: integer, unix timestamp, when has the user joined
- `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)
diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp
index fb19f64..1cce9d2 100644
--- a/telegram-bot-api/Client.cpp
+++ b/telegram-bot-api/Client.cpp
@@ -331,6 +331,12 @@ class Client::JsonUser : public Jsonable {
if (user_info != nullptr && !user_info->language_code.empty()) {
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_) {
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));
@@ -584,6 +590,12 @@ class Client::JsonChat : public Jsonable {
object("username", user_info->username);
}
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 (!user_info->bio.empty()) {
object("bio", user_info->bio);
@@ -629,6 +641,12 @@ class Client::JsonChat : public Jsonable {
} else {
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 (!supergroup_info->description.empty()) {
object("description", supergroup_info->description);
@@ -7966,6 +7984,8 @@ void Client::add_user(std::unordered_map &users, object_ptrlast_name = user->last_name_;
user_info->username = user->username_;
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_;
@@ -8035,6 +8055,8 @@ void Client::add_supergroup(std::unordered_map &supergrou
supergroup_info->status = std::move(supergroup->status_);
supergroup_info->is_supergroup = !supergroup->is_channel_;
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) {
diff --git a/telegram-bot-api/Client.h b/telegram-bot-api/Client.h
index 4622244..6602d3b 100644
--- a/telegram-bot-api/Client.h
+++ b/telegram-bot-api/Client.h
@@ -561,6 +561,8 @@ class Client : public WebhookActor::Callback {
td::string bio;
+ bool is_verified = false;
+ bool is_scam = false;
bool have_access = false;
bool can_join_groups = false;
bool can_read_all_group_messages = false;
@@ -597,6 +599,8 @@ class Client : public WebhookActor::Callback {
bool is_supergroup = false;
bool can_set_sticker_set = false;
bool has_location = false;
+ bool is_verified = false;
+ bool is_scam = false;
};
static void add_supergroup(std::unordered_map &supergroups,
object_ptr &&supergroup);