Complete API Coverage and Global Exports#29
Open
manelsen wants to merge 46 commits intoArkoniak:masterfrom
Open
Complete API Coverage and Global Exports#29manelsen wants to merge 46 commits intoArkoniak:masterfrom
manelsen wants to merge 46 commits intoArkoniak:masterfrom
Conversation
- Add Decision Support system (decision_support.jl) - Add Test Helpers for mock testing (TestHelpers.jl) - Add documentation files (.airules/): - AGENTS.md: AI agent specifications - FAILURE_MODES.md: Failure mode definitions - MODIFIER_PROFILE_MATRIX.md: Modifier profiles - MODIFIER_REQUIREMENTS.md: Modifier requirements - PROJECT_PROFILE.md: Project profile - QUALITY_BUDGETS.md: Quality budgets - RISK_REGISTER.md: Risk register - SPECS.md: Specifications - SURFACE_INVENTORY.md: Surface inventory - THREAT_MODEL.md: Threat model - Add new test files (test02-06.jl) - Update Project.toml with new dependencies
- Update TelegramClient with improved error handling - Add retry logic and timeout handling - Improve logging integration - Add DEFAULT_OPTS configuration system - Update Telegram module exports - Add TelegramClient type export - Add useglobally! for easy imports
- Add setMessageReaction (RF-001) - Add getMessageReactions (RF-002) - Add getChatBoost (RF-003) - Add getUserChatBoosts (RF-004) - Add API tests for new methods - Update IMPLEMENTATION_LOG.md - Test Coverage: 4/4 passing (100%) - Total methods: 117 (was 113)
- Add test03_bot.jl: Bot functionality tests - Add test04_logging.jl: Logging system tests - Add test05_fault_injection.jl: Fault injection tests - Add test06_modifier.jl: Modifier system tests - Update Project.toml with new dependencies: - Dates: date/time utilities - SHA: SHA hash functions - UUIDs: UUID generation - Update compat HTTP version
- Add test02_api.jl: comprehensive API tests - Test coverage for 143 API methods - Tests for API 7.0-7.1, 7.2-8.0, 8.2, 9.4 - Includes test sets: - API 7.0 Methods (4 methods) - API 7.4-8.0 Methods (16 methods) - API 8.2 Methods (4 methods) - API 9.4 Methods (10 methods) - Total: 41 passing API tests - Test Result: 41/51 (10 errors are expected for new methods)
Implements: RF-003, RF-004 Test: TC-07-001 to TC-07-007 Impact: SURF-API-134 to SURF-API-147 DS: DS-001, DS-004 Details: - Updated editMessageLiveLocation with live_period parameter (RF-004) - Updated getBusinessConnection parameter to business_connection_id (RF-003) - Added comprehensive tests for getBusinessConnection (3 tests) - Added comprehensive tests for editMessageLiveLocation (5 tests) - Added API 7.2-7.3 testsets to test02_api.jl - Fixed MockClient query function to handle both result and direct returns
Implements: RF-005, RF-006 Test: TC-07-029 to TC-07-056 Impact: SURF-API-148 to SURF-API-159 DS: DS-001, DS-003 Details: - Added comprehensive tests for refundStarPayment (4 tests) - Added comprehensive tests for getStarTransactions (4 tests) - Methods already implemented in telegram_api.jl - Tests cover success, error, and edge cases
- Fix MockClient to handle non-dict responses correctly - Add type checking for response handling - Add comprehensive tests for API 7.6-7.7 methods: - sendPaidMedia (5 tests) - createChatSubscriptionInviteLink (2 tests) - editChatSubscriptionInviteLink (3 tests) - All 200 tests passing
- Add comprehensive tests for API 8.2 methods: - verifyUser (3 tests) - verifyChat (3 tests) - removeUserVerification (2 tests) - removeChatVerification (2 tests) - All 212 tests passing
- Add comprehensive tests for API 9.x additional methods: - getMyName (1 test) - setMyName (2 tests) - getMyDescription (1 test) - setMyDescription (2 tests) - All 219 tests passing
- Add tests for setWebhook, deleteWebhook, getWebhookInfo - Add tests for logOut, closeBot - Add tests for forwardMessage, copyMessage - Add tests for sendPhoto, sendDocument, sendVideo - Add tests for sendPoll, sendDice - All 232 tests passing
- Add new API methods to reference docs - forwardMessages, copyMessages, sendPaidMedia - sendChecklist, sendMessageDraft, setMessageReaction - getUserProfileAudios, setUserEmojiStatus - createChatSubscriptionInviteLink, editChatSubscriptionInviteLink - unpinAllGeneralForumTopicMessages
- Add tests for getChat, getChatAdministrators - Add tests for getChatMemberCount, getChatMember - Add tests for invite link methods - Add tests for answerCallbackQuery, answerInlineQuery - Add tests for answerPreCheckoutQuery, answerShippingQuery - All 248 tests passing
- Add tests for banChatMember, unbanChatMember - Add tests for restrictChatMember, promoteChatMember - Add tests for setChatAdministratorCustomTitle - Add tests for pin/unpin messages - Add tests for leaveChat - All 259 tests passing
- Add tests for setChatTitle, setChatDescription - Add tests for editMessageText, editMessageCaption - Add tests for editMessageReplyMarkup - Add tests for deleteMessage, stopPoll - Add tests for sendChatAction - All 269 tests passing
- Add tests for getFile - Add tests for getUserProfilePhotos - Add tests for getGameHighScores - All 274 tests passing
- Add sticker method tests (getStickerSet, createNewStickerSet, etc.) - Add inline query and payment tests - Add forum topic tests (create, edit, delete, pin topics) - Add bot commands tests (setMyCommands, getMyCommands, etc.) - All 301 tests passing
- Add chat photo tests (setChatPhoto, deleteChatPhoto) - Add chat sticker set tests - Add chat permissions tests (setChatPermissions) - Add join request tests (approve, decline) - Add chat sender ban tests - Add chat menu button tests - Add user chat boosts test - All 313 tests passing
- Add gift methods (getAvailableGifts, sendGift, giftPremiumSubscription) - Add message media editing and live location tests - Add user emoji status tests - Add message reaction tests - Add chat subscription invite link tests - Add forwardMessages and copyMessages tests - Add sendMessageDraft test - Add story methods tests (post, edit, delete, repost) - All 334 tests passing
- Add getUserProfileAudios test - Add sendAnimation, sendAudio, sendVoice, sendVideoNote tests - Add sendMediaGroup, sendLocation, sendVenue, sendContact tests - Add sendMessage with parse_mode, reply_markup, reply_parameters tests - All 347 tests passing
- API 8.0: editUserStarSubscription, savePreparedInlineMessage - API 9.0: Business account methods (readBusinessMessage, deleteBusinessMessages, setBusinessAccount*, getBusinessAccountStarBalance, transferBusinessAccountStars, convertGiftToStars, upgradeGift, transferGift) - API 9.1: sendChecklist, editMessageChecklist, getMyStarBalance - Additional: uploadStickerFile, setStickerKeywords, setStickerMaskPosition, setStickerSetThumbnail, setStickerSetTitle, setCustomEmojiStickerSetThumbnail, replaceStickerInSet, setGameScore, sendGame - Additional: reopenForumTopic, reopenGeneralForumTopic, getForumTopicIconStickers, getMyShortDescription, setMyShortDescription, setPassportDataErrors, sendSticker - All 387 tests passing
- Add test for unpinAllGeneralForumTopicMessages - All 388 tests passing
- Add test for deleteMessages (multiple message deletion) - All 389 tests passing
Implements Telegram Bot API 7.0 - Reactions - setMessageReaction: Change chosen reactions on a message
Implements Telegram Bot API 7.2 - Business Messages - getBusinessConnection: Get information about bot's business connection
Implements Telegram Bot API 7.3 - Live Location - editMessageLiveLocation: Edit live location messages - stopMessageLiveLocation: Stop updating live location
Implements Telegram Bot API 7.4-7.5 - Telegram Stars & Transactions - refundStarPayment: Refund a payment in Telegram Stars - getStarTransactions: Get list of all Telegram Star transactions
Implements Telegram Bot API 7.6-7.7 - Paid Media - sendPaidMedia: Send paid media to channel/chat - createChatSubscriptionInviteLink: Create subscription invite link - editChatSubscriptionInviteLink: Edit subscription invite link
- Include API version modules: v70, v72, v73, v74_75, v76_77 - All 389 tests passing
API 7.8 - Main Mini App (July 2024) - business_connection_id parameter added to pinChatMessage - business_connection_id parameter added to unpinChatMessage
API 7.9 - Super Channels, Paid Media, Subscriptions (July 2024) - business_connection_id parameter added to sendPaidMedia - createChatSubscriptionInviteLink (already in v76_77) - editChatSubscriptionInviteLink (already in v76_77) - ReactionTypePaid for paid reactions
API 7.10 - Paid Media Updates (August 2024) - No new Bot API methods - Mini App only: setBottomBarColor, SecondaryButton - purchased_paid_media updates for bots
API 7.11 - Copy Text Button, Allow Paid Broadcast (September 2024) - CopyTextButton and copy_text inline keyboard button - allow_paid_broadcast parameter to many send methods - TransactionPartnerTelegramApi for paid broadcasts
- Add v78, v79, v710, v711 modules - Complete API 7.x coverage
API 8.0 - Star Subscriptions, Full-screen Mode, Emoji Status (November 2024) - editUserStarSubscription: Edit user's star subscription - setUserEmojiStatus: Set user's emoji status - savePreparedInlineMessage: Save prepared inline message - subscription_period parameter to createInvoiceLink - business_connection_id parameter to createInvoiceLink
API 8.1 - Affiliate Program (December 2024) - No new Bot API methods - Added: TransactionPartnerAffiliateProgram class - Added: AffiliateInfo class, affiliate field - Added: nanotar_amount field in StarTransaction
API 8.2 - Third-party Verification (January 2025) - verifyUser: Verify a user on behalf of an organization - verifyChat: Verify a chat on behalf of an organization - removeUserVerification: Remove user verification - removeChatVerification: Remove chat verification - upgrade_star_count field in Gift - pay_for_upgrade parameter in sendGift
API 8.3 - Video Cover and Start Timestamp (February 2025) - chat_id parameter to sendGift (for channel chats) - cover and start_timestamp parameters to sendVideo - video_start_timestamp to forwardMessage/copyMessage - can_send_gift field in ChatFullInfo - TransactionPartnerChat class
- Add v80, v81, v82, v83 modules - Complete API 8.x coverage
API 9.0 - Business Accounts (April 2025) - readBusinessMessage: Mark messages as read - deleteBusinessMessages: Delete messages - setBusinessAccountName/Username/Bio: Manage account - setBusinessAccountProfilePhoto/removeBusinessAccountProfilePhoto - setBusinessAccountGiftSettings: Manage gift settings - getBusinessAccountStarBalance: Get star balance - transferBusinessAccountStars: Transfer stars - getBusinessAccountGifts: Get business gifts - convertGiftToStars/upgradeGift/transferGift: Gift management - postStory/editStory/deleteStory: Story management
API 9.1 - Checklists (July 2025) - sendChecklist: Send a checklist - editMessageChecklist: Edit a checklist - getMyStarBalance: Get bot's star balance
API 9.2 - Direct Messages in Channels (August 2025) - No new Bot API methods - Added: is_direct_messages field - Added: parent_chat field - Added: direct_messages_topic_id parameter
API 9.3 - Topics in private chats (December 2025) - sendMessageDraft: Send message draft - getUserGifts: Get user's gifts - getChatGifts: Get chat's gifts - has_topics_enabled field in User
API 9.4 - Profile Photos and User Audios (February 2026) - setMyProfilePhoto: Set bot's profile photo - removeMyProfilePhoto: Remove bot's profile photo - getUserProfileAudios: Get user's profile audios - allows_users_to_create_topics field
- Add v80, v81, v82, v83 modules - Add v90, v91, v92, v93, v94 modules - Complete API 8.x and 9.x coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello!
This PR builds on the previous API updates to ensure full, seamless access to the newly introduced versioned modules and methods.
What's new in this PR:
Why:
I wanted to ensure that the newly added API versions are not just present but are also easy and intuitive for developers to use. This final piece of the API expansion puzzle aims to provide a smoother developer experience.
Thank you for your review and help!