GoTGProto
106 subscribers
22 links
GoTGProto is a wrapper for github.com/gotd/td.
It aims to make td's raw functions easy to user with the help of its helpers packages.
Repository: github.com/anonyindian/gotgproto
Download Telegram
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta04 of the library.

Changelog:
β€’ Added ChatMemberUpdated handlers and filters
β€’ Added GetMessages raw helper
β€’ Fixed nil message returned when the message was sent in a private chat
β€’ Fixed PendingJoinRequests filters which were not functional earlier
β€’ Updated documentations

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta04

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
This media is not supported in your browser
VIEW IN TELEGRAM
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta05 of the library.

Changelog:
β€’ Added retry functionality for wrong 2FA password
β€’ Added PublicKeys, DC, DCList, Resolver fields to ClientHelper struct for better flexibility.
β€’ Optimised Command handlers.
β€’ Inherited context.Context in ext.Context to reduce boilerplate codes.
β€’ Added following helpers:
- GetMessages
- BanChatMember
- UnbanChatMember
- AddChatMembers
- ArchiveChats
- UnarchiveChats
- CreateChannel
- CreateChat
- ResolveUsername
β€’ Added a new interface: UnitedChat which covers all the chat types (Channel, Chat, User)
β€’ Fixed a long known bug due to which session couldn't be restored from .session file
β€’ Updated documentations

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta05

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta06 of the library.

Changelog:
v1.0.0-beta05...v1.0.0-beta06

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta05

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
We're proud to announce the GIGA userbot, a powerful and fast telegram userbot being written in Go using GoTGProto.

This would be an active example implementation for GoTGProto.

Source Code: github.com/gigauserbot/giga

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta08 of the library.

Changelog:
v1.0.0-beta06...v1.0.0-beta08

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta08

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
❀2
This media is not supported in your browser
VIEW IN TELEGRAM
πŸ‘Ž3
People say, I'm a dead library, but am I? Or is it just a span of hibernation? 🧐
πŸ€”3🀣1
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta09 of the library.

Changelog:
v1.0.0-beta08...v1.0.0-beta09

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta09

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
Hello πŸ‘‹, here we resume the development of library further followed by many new updates and breaking changes.

Suggestions and bug reports are welcome anytime :)

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta10 of the library that brings a lot of optimizations along with some breaking changes. This update also fixes a very old issue of the library which used to cause high memory usage.

As usual, upgrade using:
go get github.com/anonyindian/gotgproto@v1.0.0-beta10

Changelog:
β€’ Updated GoTD to v0.82.0
β€’ Deprecated ctx.ForwardMessage (Use ctx.ForwardMessages now)
β€’ Replaced BigCache with Cacher for cache
β€’ Fixed high memory usage (It uses around 5MBs now, earlier it was 100+ MBs)
β€’ Rewrote GoTGProto client utilities, it should be more handy and cleaner to create a new client now.
β€’ Added a new dispatcher.Dispatcher interface to allow using custom dispatcher.
β€’ Renamed dispatcher.CustomDispatcher to dispatcher.NativeDispatcher
β€’ Made some optimizations in command and message handlers
β€’ Added types.Message, which is a union of tg.Message, tg.MessageService, and tg.MessageEmpty structs.
β€’ Now, ext.Update.EffectiveMessage is of the type *types.Message.
β€’ Added a new optional field in ClientOpts, named AutoFetchReply (setting this field to true will automatically cast. ReplyToMessage field in update.EffectiveMessage)
β€’ Added client.ExportSessionString(), client.RefreshContext(ctx) and client.CreateContext() methods to gotgproto.Client.
β€’ Peers for logged in user will now be saved in session while starting the client.
β€’ Removed an unintentional display of session data in os.Stdout.
β€’ Added SystemLangCode and ClientLangCode optional fields to gotgproto.Client.
β€’ Moved helper methods errors to errors package.
β€’ Added client.Stop() method to gotgproto.Client to cancel the running context and stop the client.
β€’ Added dispatcher.StopClient handler error, which if returned through a handler callback will result in stopping the client.
β€’ Added client.Start() method to gotgproto.Client to login and connect to telegram (Note: It's already called by gotgproto.NewClient() hence you don't need to call it again. However, it should be used to re-establish a connection once it's closed via gotgproto.Client.Stop())
β€’ Fixed session and peers database initialization happening twice per login.
β€’ update.EffectiveMessage.Message is no longer the message text, it now contains *tg.Message (use update.EffectiveMessage.Text for message's text)

Known Issues:
β€’ ctx.SendMediaGroup is added to the release mistakenly, it doesn't work and is just a dead method.
β€’ Some examples are still using update.EffectiveMessage.Message as text of a message which wouldn't work, and needs to be replaced by update.EffectiveMessage.Text.

Full Changelog: Click here

Repository: https://github.com/anonyindian/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸ”₯3❀1πŸ₯°1πŸŽ‰1
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta13 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta13

Changelog:
β€’ Updated to GoTD to v0.88.0 (Layer 164)
β€’ Redesigned session initialization (Now supports logging in with just string session in memory as well as session file)
β€’ Added Middlewares and Device fields to ClientOpts
β€’ ctx.ForwardMediaGroup won't omit error now

This update was majorly written by @W_ARM, thanks to them for their contributions!

Full Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat


NOTE: Module name has been changed from github.com/anonyindian/gotgproto to github.com/celestix/gotgproto, please refactor it in your projects accordingly!
πŸ’©2πŸ‘€2πŸŽ‰1
GoTGProto is now a part of hacktoberfest 2023 πŸŽ‰, contributions in order to achieve the its PR goals are welcome now :)
-> https://github.com/celestix/gotgproto

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta14 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta14


Changelog:
β€’ Updated to GoTD to v0.91.0 (Layer 167)
β€’ Adapted pure Go SQLite driver (This means you will no longer need CGO!) #40
β€’ Redesigned peers storage mechanism and made it compatible for multiple clients
β€’ Redesigned session initialization system to make its function simpler and efficient #38
β€’ Fixed exporting session string #33
β€’ Fixed ability to use dc resolver #35
β€’ Fixed a bug due to which last styled element was not added to styling map #36
β€’ Fixed a bug in retrieving reply-to messages and enhanced it to retrieve entire reply chain #37
β€’ Fixed a bug due to which client would stuck on failed login attempts (due to a deadlock)
β€’ Added a few more examples for less confusion

New Contributors:
β€’ @jimpo26 made their first contribution in #36
β€’ @EverythingSuckz made their first contribution in #40

Significant Notes:
β€’ This update mainly focused on fixing bugs and making the library compatible for running multiple clients.
β€’ Since library is no longer using traditional SQLite driver which needed CGO, you can disable it if you want to.
β€’ You need to set InMemory bool var to true in ClientOpts to start a memory based session.
β€’ Old functions in sessionMaker package are removed in favor of the new design, please check them out in the source code.
``

Full Changelog: Click here



Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
❀3
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta15 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta15


Changelog:
β€’ Updated to GoTD to v0.93.0 (Layer 170)
β€’ Fixed client.ExportStringSession() and add RunMiddleware field to client. #41
β€’ Added an optional field to specify custom Context #44
β€’ Added all fields to gotgproto.Client from telegram.Client for flexible usage in #48
β€’ Add an interface for AuthConversation to allow developers to use custom interaction method while authenticating a client. #46

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
❀2πŸ”₯2
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta17 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta17


Changelog:
β€’ Updated to GoTD to v0.99.2
β€’ Added web auth example by @Emanxu in #49
β€’ Fixed ctx random seed to nanosecond to prevent the randomID generated… by @DukeAnn in #50
β€’ Added floodwaiter example by @TeaDove in #51
β€’ Added support for single styling.StyledTextOption by @CoiaPrant233 in #52
β€’ Added support for logging in using tdesktop session data (TDATA) by cynicalwork in #58
β€’ Fixed FILE_REFERENCE_EXPIRED in ctx.DownloadMedia by @TeaDove in #62
β€’ Added support for using any SQL dialector (now you can use database of your choice like postgres, sqlite, etc).
β€’ Fixed EffectiveUser not getting populated for update types other than message.

Full Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸ”₯5
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta18 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta18


Changelog:
β€’ Updated to GoTD to v0.102.2
β€’ Fixed nil value of ctx.EffectiveUser in private chats
β€’ Fixed instable peer caching and handling
β€’ Fixed invalid implementation of RetryPassword hook
β€’ Added auth status events and retry mechanism for phone and otp updates in conversator
β€’ Added filter.Message.ChatType
β€’ Added NoAutoAuth field to gotgproto.ClientOpts to disable automatic auth flow mechanism when session is unauthorized (useful for efficient management of multiple clients in a single program)
β€’ Fixed default empty session file name for string session constructors
β€’ Optimized web auth api example for multiple auths
β€’ Added ClientTypeBot and ClientTypePhone as clientType interface in gotgproto.NewClient function
β€’ Fixed login with bot not working (Thank you @Heheiemkilledy!)

Full Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
❀4
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta19 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta19


Changelog:
β€’ Updated GoTD to v0.116.0
β€’ Fixed auth-using-api-base example doesn't work by @dev-freelance-ru in #80
β€’ Added add arguments in SendMedia example by @AshokShau in #88
β€’ Fixed 2fa auth flow hooks by @HoracePeng in #91
β€’ Fixed ForwardMessages by @gautamajay52 in #93
β€’ Added private chats support in DeleteMessages by @Jisin0 in #100
β€’ Optimised session/peer storage and refactor auth flow by @Davincible in #97

Full Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸ”₯3πŸ‘1
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta20 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta20


Changelog: Click here

Note: Session login issues that arose in beta19 have been fixed with beta20, you can continue using your beta18 sqlite session files in this new update.

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta21 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta21


Changelog:
β€’ Updated to GoTD to v0.122.0
β€’ Added ctx.TransferStarGift, ctx.ExportInvoice, ctx.SetPreCheckoutResults
β€’ Improved peer storage to account full access hash
β€’ Fixed inaccurate ctx.EffectiveUser
β€’ Added NoUpdates client opt to disable receiving updates
β€’ Added json session file constructor
β€’ Added add GramJS auth support (Thank you @qingmeng1)

Full Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
❀3πŸ‘1
πŸŽ‰ GoTGProto New Update

We have just released v1.0.0-beta22 of the library.

As usual, upgrade using:
go get github.com/celestix/gotgproto@v1.0.0-beta22


Changelog: Click here

Repository: https://github.com/celestix/gotgproto
Examples: click here for the examples
Documentations: click here for the docs
Support Group: @GoTGProtoChat
πŸ”₯2