diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/tgbot/Api.h | 25 | ||||
-rw-r--r-- | include/tgbot/types/Chat.h | 18 | ||||
-rw-r--r-- | include/tgbot/types/Message.h | 25 |
3 files changed, 57 insertions, 11 deletions
diff --git a/include/tgbot/Api.h b/include/tgbot/Api.h index 428c8b2..87c6c11 100644 --- a/include/tgbot/Api.h +++ b/include/tgbot/Api.h @@ -741,6 +741,31 @@ public: bool setChatAdministratorCustomTitle(std::int64_t chatId, std::int64_t userId, const std::string& customTitle) const; /** + * @brief Use this method to ban a channel chat in a supergroup or a channel. + * Until the chat is unbanned, the owner of the banned chat won't be able to send messages on behalf of any of their channels. + * The bot must be an administrator in the supergroup or channel for this to work and must have the appropriate administrator rights. + * + * @param chatId Unique identifier for the target chat or username of the target channel (in the format @channelusername) + * @param senderChatId Unique identifier of the target sender chat + * + * @return True on success. + */ + bool banChatSenderChat(std::int64_t chatId, + std::int64_t senderChatId) const; + + /** + * @brief Use this method to unban a previously banned channel chat in a supergroup or channel. + * The bot must be an administrator for this to work and must have the appropriate administrator rights. + * + * @param chatId Unique identifier for the target chat or username of the target channel (in the format @channelusername) + * @param senderChatId Unique identifier of the target sender chat + * + * @return Returns True on success. + */ + bool unbanChatSenderChat(std::int64_t chatId, + std::int64_t senderChatId) const; + + /** * @brief Use this method to set default chat permissions for all members. The bot must be an administrator in the group or a supergroup for this to work and must have the can_restrict_members admin rights. Returns True on success. * @param chatId Unique identifier for the target chat of the target supergroup. * @param permissions New default chat permissions. diff --git a/include/tgbot/types/Chat.h b/include/tgbot/types/Chat.h index 2b74447..24f7955 100644 --- a/include/tgbot/types/Chat.h +++ b/include/tgbot/types/Chat.h @@ -75,6 +75,12 @@ public: std::string bio; /** + * @brief Optional. True, if privacy settings of the other party in the private chat allows to use tg://user?id=<user_id> links only in chats with the user. + * Returned only in Api::getChat. + */ + bool hasPrivateForwards; + + /** * @brief Optional. Description, for groups, supergroups and channel chats. * Returned only in Api::getChat. */ @@ -106,6 +112,18 @@ public: std::int32_t slowModeDelay; /** + * @brief Optional. The time after which all messages sent to the chat will be automatically deleted; in seconds. + * Returned only in Api::getChat. + */ + std::int32_t messageAutoDeleteTime; + + /** + * @brief Optional. True, if messages from the chat can't be forwarded to other chats. + * Returned only in Api::getChat. + */ + bool hasProtectedContent; + + /** * @brief Optional. For supergroups, name of group sticker set. * Returned only in Api::getChat. */ diff --git a/include/tgbot/types/Message.h b/include/tgbot/types/Message.h index dc65604..c918257 100644 --- a/include/tgbot/types/Message.h +++ b/include/tgbot/types/Message.h @@ -52,15 +52,15 @@ public: std::int32_t messageId; /** - * @brief Optional. Sender, empty for messages sent to channels + * @brief Optional. Sender of the message; empty for messages sent to channels. + * For backward compatibility, the field contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat. */ User::Ptr from; /** * @brief Optional. Sender of the message, sent on behalf of a chat. - * The channel itself for channel messages. - * The supergroup itself for messages from anonymous group administrators. - * The linked channel for messages automatically forwarded to the discussion group + * For example, the channel itself for channel posts, the supergroup itself for messages from anonymous group administrators, the linked channel for messages automatically forwarded to the discussion group. + * For backward compatibility, the field from contains a fake sender user in non-channel chats, if the message was sent on behalf of a chat. */ Chat::Ptr senderChat; @@ -105,6 +105,11 @@ public: std::int32_t forwardDate; /** + * @brief Optional. True, if the message is a channel post that was automatically forwarded to the connected discussion group + */ + bool isAutomaticForward; + + /** * @brief Optional. For replies, the original message. * Note that the Message object in this field will not contain further replyToMessage fields even if it itself is a reply. */ @@ -121,6 +126,11 @@ public: std::int32_t editDate; /** + * @brief Optional. True, if the message can't be forwarded + */ + bool hasProtectedContent; + + /** * @brief Optional. The unique identifier of a media message group this message belongs to */ std::string mediaGroupId; @@ -347,13 +357,6 @@ public: * loginUrl buttons are represented as ordinary url buttons. */ InlineKeyboardMarkup::Ptr replyMarkup; - - /** - * @brief Optional. True, if the message is a channel post that was automatically forwarded to the connected discussion group - * - * Note: Added with Bot API 5.5 - */ - bool automaticForward; }; } |