Releases: apimorphism/telegramium
Telegramium-7.57.0
Telegramium-7.57.0 released.
It supports all methods and entities of Telegram Bot API v5.7.
Excerpt from Bot API official announcement for version 5.7
- Added support for Video Stickers.
https://core.telegram.org/bots/api-changelog#january-31-2022
Telegramium-7.56.0
Telegramium-7.56.0 released.
It supports all methods and entities of Telegram Bot API v5.6.
Excerpt from Bot API official announcement for version 5.6
- Improved support for protected content: bots can now send it to any chat via the
protect_content
parameter. - Implemented spoiler entities both as a new
MessageEntity
and a supported MarkdownV2 and HTML formatting option.
https://core.telegram.org/bots/api-changelog#december-30-2021
Telegramium-7.55.0
Telegramium-7.55.0 released.
It supports all methods and entities of Telegram Bot API v5.5.
Excerpt from Bot API official announcement for version 5.5
- Bots are now allowed to contact users who sent a join request to a chat where the bot is an administrator with the
can_invite_users
administrator right – even if the user never interacted with the bot before. - Added support for mentioning users by their ID in inline keyboards. This will only work in Telegram versions released after December 7, 2021. Older clients will display unsupported message.
- Added the methods
banChatSenderChat
andunbanChatSenderChat
for banning and unbanning channel chats in supergroups and channels. - Added the field
has_private_forwards
to the classChat
for private chats, which can be used to check the possibility of mentioning the user by their ID. - Added the field
has_protected_content
to the classesChat
andMessage
. - Added the field
is_automatic_forward
to the classMessage
.
Note: After this update it will become impossible to forward messages from some chats. Use the fields has_protected_content
in the classes Message
and Chat
to check this.
Note: After this update users are able to send messages on behalf of channels they own. Bots are expected to use the field sender_chat
in the class Message
to correctly support such messages.
Telegramium-7.54.1
Scala 3 support is here!
Telegramium-7.54.0
Telegramium-7.54.0 released.
It supports all methods and entities of Telegram Bot API v5.4.
Excerpt from Bot API official announcement for version 5.4
- Added support for new invite links with Join Requests. Bots can now manage users who requested to join a group or channel.
Telegramium-7.53.0
Telegramium-7.53.0 released.
This MAJOR release introduces significant breaking changes.
Notable changes
Cats Effect 3 support!
Telegramium-6.53.0
Telegramium-6.53.0 released.
This MAJOR release introduces significant breaking changes.
Notable changes
The library now provides a way to compose multiple Webhook bots into a single Http4s
Server that will handle the webhooks registration as well as the incoming requests of all the composed bots. You ultimately decide at which host:port the server will be binded to:
import scala.concurrent.ExecutionContext.Implicits.global
val api1: Api[IO] = BotApi(http, baseUrl = s"https://api.telegram.org/bot$bot_token1")
val api2: Api[IO] = BotApi(http, baseUrl = s"https://api.telegram.org/bot$bot_token1")
val bot1: MyWebhookbot = new MyWebhookbot[IO](api1, "ServerVisibleFromOutside", s"/$bot_token1")
val bot2: MyWebhookbot = new MyWebhookbot[IO](api2, "ServerVisibleFromOutside", s"/$bot_token2")
WebhookBot.compose[IO](
List(bot1, bot2),
8080,
ExecutionContext.global, //optional, global as default
"127.0.0.1" //optional, localhost as default
).useForever.runSyncUnsafe()
For details, have a look at the Github Issue and the related Pull Request.
Error handling
LongPollBot no longer crashes on errors and prints stacktraces instead (for now).
Fixes
#149: DecodingFailure for the callback_game field
Telegramium-5.53.0
Telegramium-5.53.0 released.
It supports all methods and entities of Telegram Bot API v5.3.
This MAJOR release introduces significant breaking changes.
Notable changes
- User identifiers are now stored as Longs.
Excerpt from Bot API official announcement for version 5.3
https://core.telegram.org/bots/api#june-25-2021
Personalized Commands
- Bots can now show lists of commands tailored to specific situations - including localized commands for users with different languages, as well as different commands based on chat type or for specific chats, and special lists of commands for chat admins.
- Added the class
BotCommandScope
, describing the scope to which bot commands apply. - Added the parameters
scope
andlanguage_code
to the methodsetMyCommands
to allow bots specify different commands for different chats and users. - Added the parameters
scope
andlanguage_code
to the methodgetMyCommands
. - Added the method
deleteMyCommands
to allow deletion of the bot's commands for the given scope and user language. - Improved visibility of bot commands in Telegram apps with the new 'Menu' button in chats with bots
Custom Placeholders
- Added the ability to specify a custom input field placeholder in the classes
ReplyKeyboardMarkup
andForceReply
.
And More
- Improved documentation of the class
ChatMember
by splitting it into 6 subclasses. - Renamed the method
kickChatMember
tobanChatMember
. - Renamed the method
getChatMembersCount
togetChatMemberCount
. - Values of the field
file_unique_id
in objects of the typePhotoSize
and of the fieldssmall_file_unique_id
andbig_file_unique_id
in objects of the typeChatPhoto
were changed.
After one of the upcoming Bot API updates, some user identifiers will become bigger than 2^31 - 1 and it will be no longer possible to store them in a signed 32-bit integer type. User identifiers will have up to 52 significant bits, so a 64-bit integer or double-precision float type would still be safe for storing them. Please make sure that your code can correctly handle such user identifiers.
Telegramium-4.52.2
Fix #120: Make PreMessageEntity's language optional
Telegramium-4.52.1
Fix #116: update Bot API return types