Commit Graph

175 Commits (f82c0ec609cef72e259278aa362424c0e489ddc7)

Author SHA1 Message Date
Viktor Oreshkin 10b553411d Add options to EditCaption (incl ParseMode) (#230) 5 years ago
demiangetman a855bcb241 Fix possible EditMedia sendOpts nil dereference 5 years ago
demiangetman 921282a488 Add ParseMode option support to EditMedia 5 years ago
Viktor Oreshkin ca2149b44f Handle audio thumbnail in EditMedia 5 years ago
demiangetman 53bfa49b78 Fill callback inline message on update 5 years ago
demiangetman 97589a3d9e Add options to EditCaption 5 years ago
demiangetman 366e68b072 Implement EditReplyMarkup 5 years ago
Arseny Mitin 83aacd12ee refactor: avoid using fmt.Sprintf for performance 5 years ago
evgendn 240965f18d Add stickers methods 5 years ago
Ian Byrd 9b714b274c reducing excessive deffered calls 5 years ago
Ian Byrd 42933c1912 small fixes, go.{mod,sum} 5 years ago
Ian Byrd 85ee746b3c
Merge pull request #194 from 23rd/patch-1-edit-media
Added support for editMessageMedia.
5 years ago
robatioor 5601dd0354 add method GetFile and refactor code 5 years ago
23rd c7451550a3 Added support for editMessageMedia.
- Fixes #184.
5 years ago
Ian Byrd 7eeea8f32a
Payment API minimal implementation. 5 years ago
Anton Kucherov 538b671e6a fix #173 add custom Telegram api url 6 years ago
Ian Byrd 2adea7c8be
Merge pull request #163 from stek29/filereader
Add File creation from io.Reader (fix #137)
6 years ago
Viktor Oreshkin ec2090d300 Dont panic in Bot.Send, just return error 6 years ago
Viktor Oreshkin 629fe58962 Add File creation from io.Reader (fix #137)
Refactor sendFiles to accept Files
6 years ago
Viktor Oreshkin fd3c84fce1 Embed optional fields in SendAlbum 6 years ago
Ian Byrd b59ea4aec3
Merge pull request #146 from aprosvetova/patch-1
fixed wrong method name
6 years ago
Ian Byrd 89d8b20796
Merge pull request #141 from igorcoding/patch-1
Fix incorrect parsing of ChannelPrivate chat
6 years ago
Ulrich Schreiner 97e78127ad
fix lint errors in current code 6 years ago
Anna Prosvetova fc1a751391
fixed wrong method name 6 years ago
igorcoding 111bf7658b
Fix incorrect parse of channelprivate Chat type 6 years ago
Andrey Sevrikov 10a33dd585 Fix voice handlers not firing 6 years ago
sigurniv 78f08282d7 fixed indentation 6 years ago
sigurniv 5f938b2a7a add option to pass custom http.Client to tb.NewBot() in case of proxying and other needs 6 years ago
Giovanni Spera 5513a66463 Fixed could not send message to private channel 7 years ago
Ian Byrd 3f24832170 Fix for a silly typo. 7 years ago
Ian Byrd bda24d8650 Possibly breaking some builds, but inline message IDs won't work
otherwise.
7 years ago
Ian Byrd f704eefacf ChosenInlineResult. 7 years ago
Ian Byrd 426f436905
Fix for data-less inline buttons. 7 years ago
Ian Byrd bdd5916b83
Callbacks fixed for both button types. 7 years ago
Martin Ottenwaelter 6adfa4be13 Fixes a nil pointer dereference by checking a nil value for the
OnAddedToGroup handler.
7 years ago
Ian Byrd 77d1ba9eb1 Inline mode fix. 7 years ago
Ian Byrd 4f400f035e
Raw() method introduced. KeyboardButton -> ReplyButton. 7 years ago
Ian Byrd 38298d3e9d
Reporter: protection from in-handler panics. 7 years ago
Ian Byrd 4cf58f4c5b
Automatic command payload handling. 7 years ago
Ian Byrd 5a73cee70a
Handle() now supports keyboard buttons as endpoints. 7 years ago
Ian Byrd 119a4e1698
Modified poller API, fixes #106. 7 years ago
Ian Byrd 3329d98249
Completing regular API now. 7 years ago
Ian Byrd 2a1158c03a Revert "Protecting callbacks with callback guards."
This reverts commit 6f068bdacb.
7 years ago
Ian Byrd 31f0da895e
Graceful shutdown with Stop(), resolves #99, #105 7 years ago
Ian Byrd 6f068bdacb
Protecting callbacks with callback guards. 7 years ago
Ian Byrd eae6345b88
InlineButton became endpoint (callback handling.) 7 years ago
Ian Byrd d6ef68605b
Complete list of endpoints is now supported (see const.) 7 years ago
Ian Byrd af9f8f00da
Pin/Unpin methods added. 7 years ago
Ian Byrd 83eb527fe5
Albums added, this commit resolves #103. 7 years ago
Ian Byrd 33e1846abd
Download() introduced. 7 years ago
Ian Byrd 79dccd7227
Endpoints for media introduced, Message.From -> Message.Sender 7 years ago
Ian Byrd 612ab345bd Improved inline API. TODO proper result types. 7 years ago
Ian Byrd 9aad0c4faa
OnAddedToGroup introduced. 7 years ago
Ian Byrd 091bbc9a13 Administration tools, this resolves #43. 7 years ago
Ian Byrd b4bec5b6f7
Command routing fix. 7 years ago
Ian Byrd ddc9f75fb2
More documentation, little code changes. 7 years ago
Ian Byrd 52892914f3
Security measure: ignoring all messages starting with \a 7 years ago
Ian Byrd 337be69aa3
Routing system: final touches! 7 years ago
Ian Byrd 0cf9b9a101
Routing: Handle() and Endpoint introduced. 7 years ago
Ian Byrd ba575e72e1
Start(), Update now supports edited messages / channel posts. 7 years ago
Ian Byrd 43be06e850
NewBot, Settings, Poller, LongPoller - new bot creation API. 7 years ago
Ian Byrd 0f1d521167
Cleanup, documentation, bikeshedding. 7 years ago
Ian Byrd d5e4082eaf
New Edit() and EditCaption() methods are taking over.
IMO, we shouldn't be introducing distinct EditText/EditMarkup
methods because it just doesn't make sense, you can do both in
one and EditCaption is a pretty odd case so we live it be.
7 years ago
Ian Byrd ff0015f004
Good news Edit() now works for all Editable text messages! 7 years ago
Ian Byrd b6938a118c
Telebot now compiles! :-) 7 years ago
Ian Byrd dbc2cd7f6d
Massive refactoring and file structure changes.
- Callback structs has been moved to callbacks.go
- User / Chat and its methods -> chat.go
- Concept of Editable and Message Signature introduced
- No more types.go, it's been refactored into media.go + friends
7 years ago
Ian Byrd a8671a839d
More refactoring, API rethinking. 7 years ago
Ian Byrd 3cf300d59d
Documentation for latest changes. 7 years ago
Ian Byrd 6eec63ddbb
Delete() has been added. 7 years ago
Ian Byrd ef59af6db7
Introducing Sendable interface (see #93.)
This commit refactors lots of duplicated code from bot.go, so
instead of having N redundant SendX methods, now it's the
responsibility of all Sendable objects to implement Send(..)
instead. Impl in types_send.go, 150 LOC only!
7 years ago
Ian Byrd 127bf18d79
Optimizes SendOptions / ReplyMarkup. 7 years ago
Ian Byrd d8b3194888 Message: optionals are now stored by-pointer, saving 67.4% of mem.
This is a breaking change! Reducing memory usage from 1544 bytes
down to 504 bytes on 64-bit system. Considering Message is the
most used Telebot type, it's a pretty big deal.

Also, now we finally can test optional fields against nil!
7 years ago
Ian Byrd 4857ac8b9d
Whoops, fixing the merged code according to new API. 7 years ago
Ian Byrd 8128e90034
Merging #79 into 'v2'.
This commit breaks telebot API by introducing message edits and
changing return values for existing Send* methods.
7 years ago
Ian Byrd b19ffa1b45
Experimental handlers API added. 7 years ago
Ian Byrd a1a2c92dad
This commit refactors error handling throughout the library.
Bot.Errors channel has been introduced. It can be used to
debug Telebot. It also fixes sendFile() which used to upload
with its own custom http.Client instead of http.DefaultClient.
7 years ago
Ian Byrd 95901bcfc3
Minor time conversion change within private API. 7 years ago
Ian Byrd 14151d8a26 Revert "Bots now support custom HTTP clients (*http.Client)."
This reverts commit c8e1ac037f.
7 years ago
Ian Byrd c8e1ac037f
Bots now support custom HTTP clients (*http.Client). 7 years ago
Vlad Lukyanov d2067e919f changed InlineKeyboardMarkup to SendOptions where it needed 7 years ago
Vlad Lukyanov 15a4d8f413 Add meaasge edit feature
This commit may break some bots because changes in return of SendMessage
and SendPhoto functions
8 years ago
Ian Byrd 6360f1f7d9
Refactoring, poor BC, closes #44 and probably resolves #41.
- EntityType and ChatType enums introduced.
- Documentation fixes, struct refactoring.
- Poor BC, poor BC...
8 years ago
Ian Byrd d8b2ca1983
Fixes lots of complete bollocks that got into the codebase.
- Malformed JSON field tags, OMG fixed
- Making linters happy
- Foursquare_id -> FoursquareID, fuck BC
8 years ago
Ian Byrd fedfe0d5f9 Switching to int64 update queries, resolves #16 hopefully. 8 years ago
Ian Byrd e0d2195801
Partial refactoring of internals.
- GetChat and LeaveChat handle error descriptions
- Documentation fix for Result type
- Wrapping structs for IQRs go inside marshal funcs.
8 years ago
ahmdrz 622415d138 LeaveChat boolean result removed 8 years ago
aiden e5cf14aeea Method name and structs specified. 8 years ago
aiden 5d1a071046 Some changes for godoc 8 years ago
aiden 2558381794 GetUserProfilePhotos added 8 years ago
aiden fc4d712ce0 getChatMember added 8 years ago
aiden 229001da4a getChatMemberCount added 8 years ago
aiden d18a89193d getChatAdministrators added 8 years ago
aiden 936198888e getChat method added 8 years ago
aiden 08ec8d756a leaveChat method added 8 years ago
Illarionov Oleg ce7114afe6 GetFile and GetFileDirectURL method to fetch url of file received from user (#63)
Bot.GetFile and Bot.GetFileDirectURL methods introduced.

* correct comment

* improve docs
8 years ago
Sebastian Schepens 587ba1a4dc
add AnswerCallbackQuery 8 years ago
Vlad Lukyanov 977e1d90f3 gofmt 8 years ago
Vlad Lukyanov 6e08411d89 fix. rewrite url.params to map 8 years ago
Vlad Lukyanov 4b79f3ff1b merge with upstream 8 years ago
Nick Groenen 46992b037b Improve support for inline queries
These changes make it possible to set custom options when responding to
inline queries, as described on
https://core.telegram.org/bots/api#answerinlinequery.

It also includes all the (non-cached) inline result types as described
at https://core.telegram.org/bots/api#inlinequeryresult.

Some remarks:
* The internals of sendCommand have changed. It now expects a
  JSON-serializable object. Instead of doing GET requests with
  URL-encoded query parameters it now POSTS JSON directly.
* Because of the above, sendFile() has changed as well. It now expects a
* `map[string]string` which it will internally convert to URL encoded
  form values.
* Respond has been deprecated in favor of the new AnswerInlineQuery
  function. It is only kept for backward compatibility.
* A dependency on https://github.com/mitchellh/hashstructure has been
  introduced in order to generate automatic IDs for inline results.
8 years ago