Community chat: https://t.me/hamster_kombat_chat_2
Twitter: x.com/hamster_kombat
YouTube: https://www.youtube.com/@HamsterKombat_Official
Bot: https://t.me/hamster_kombat_bot
Game: https://t.me/hamster_kombat_bot/
Last updated 3 months, 1 week ago
Your easy, fun crypto trading app for buying and trading any crypto on the market
Last updated 3 months ago
Turn your endless taps into a financial tool.
Join @tapswap_bot
Collaboration - @taping_Guru
Last updated 4 days, 5 hours ago
MadelineProto was updated!
MadelineProto 8.1.0 introduces an official Grafana dashboard for MadelineProto, powered by danog/better-prometheus!
See here for more info on how to configure the Prometheus metrics endpoint and Grafana dashboard!
Features:
- Official grafana dashboard, powered by danog/better-prometheus!
- Extract bot API dialog ID handling logic into a separate library, danog/tg-dialog-id!
- Add a previously missing $deleteHistory
flag to discardSecretChat
!
- Add messages.getEmojiStickerGroups method!
Fixes:
- Fix a possible bug in sendVideo
- Fix a possible bug in parseMode parsing
- Fix SecretMessage::delete
- Fix passing of seekable streams to IPC methods
- Other minor bugfixes
- Performance improvements
docs.madelineproto.xyz
Metrics
MadelineProto can expose many useful metrics, that can be visualized using the official MadelineProto Grafana dashboard.
MadelineProto was updated!
8.0.0 is the first stable release of MadelineProto v8!
For the full changelog, see the messages on the official MadelineProto channel, starting from here!
Here are the main highlights:
- Amp v3 & revolt (fibers) support!
- A new simplified, stable and object-oriented event handler API based on filters and plugins!
- New sendVideo, sendAudio, sendDocument, etc methods with automatic metadata extraction via ffmpeg.
- A new getDownloadLink method for files up to 4gb!
- A new broadcast API, that can be used to asynchronously broadcast messages to all users of a bot or userbot in the background, automatically fetching all users of the bot!
- A pure PHP async VoIP implementation to make Telegram voice calls even on limited webhosts!
- An official docker image!
- Built-in static analysis of event handler code!
- Major performance and stability improvements!
- Many other new features and UX improvements, see all messages starting from https://t.me/MadelineProto/591 for more info!
Major parts of the MadelineProto core were split into standalone libraries that can be used without requiring all of MadelineProto:
- https://github.com/danog/AsyncOrm - Async ORM based on AMPHP v3 and fibers.
- https://github.com/danog/telegram-entities - A library to work with Telegram UTF-16 styled text entities.
- https://github.com/danog/tg-file-decoder - A library to work with Telegram bot API file IDs (recently updated).
The next releases will focus on even more features and performance improvements, such as prometheus and grafana statistics, a static TL parser and much, much more!
Cheers!
I'm very happy to announce the first release of https://github.com/danog/php-tokio: you can now use any async Rust library from PHP!
It's fully integrated with revolt: this allows full compatibility with amphp, PSL and reactphp, and with any Rust library powered by tokio.rs.
Here's an example from the repo, using the async Rust reqwest library to make asynchronous HTTP requests from PHP:
```
<?php
use Reqwest\Client;
use function Amp\async;
use function Amp\Future\await;
require 'vendor/autoload.php';
Client::init();
function test(int $delay): void {
$url = "https://httpbin.org/delay/$delay";
$t = time();
echo "Making async reqwest to $url that will return after $delay seconds...".PHP_EOL;
Client::get($url);
$t = time() - $t;
echo "Got response from $url after ~".$t." seconds!".PHP_EOL;
};
$futures = [];
$futures []= async(test(...), 5);
$futures []= async(test(...), 5);
$futures []= async(test(...), 5);
await($futures);
```
I'm really excited for the potential usecases of php-tokio, and its implications for the PHP async ecosystem.
I've created this library because I'm building an async MongoDB client for PHP (https://github.com/Nicelocal/mongo-php-async-driver), and realized that using the official rust mongodb library directly from PHP would be way easier (and faster!) than writing a MongoDB client in pure PHP :)
GitHub
GitHub - danog/php-tokio: Use any async Rust library from PHP!
Use any async Rust library from PHP! Contribute to danog/php-tokio development by creating an account on GitHub.
I'm very happy to announce the first release of https://github.com/danog/php-tokio: you can now use any async Rust library from PHP!
It's fully integrated with revolt: this allows full compatibility with amphp, PSL and reactphp, and with any Rust library powered by tokio.rs.
Here's an example from the repo, using the async Rust reqwest library to make asynchronous HTTP requests from PHP:
```
<?php
use Reqwest\Client;
use function Amp\async;
use function Amp\Future\await;
require 'vendor/autoload.php';
Client::init();
function test(int $delay): void {
$url = "https://httpbin.org/delay/$delay";
$t = time();
echo "Making async reqwest to $url that will return after $delay seconds...".PHP_EOL;
Client::get($url);
$t = time() - $t;
echo "Got response from $url after ~".$t." seconds!".PHP_EOL;
};
$futures = [];
$futures []= async(test(...), 5);
$futures []= async(test(...), 5);
$futures []= async(test(...), 5);
await($futures);
```
I'm really excited for the potential usecases of php-tokio, and its implications for the PHP async ecosystem.
I've created this library because I'm building an async MongoDB client for PHP (https://github.com/Nicelocal/mongo-php-async-driver), and realized that using the official rust mongodb library directly from PHP would be way easier (and faster!) than writing a MongoDB client in pure PHP :)
P.S. Here's the link to the hackernews thread I created for the occasion :)
https://news.ycombinator.com/item?id=37285471
GitHub
GitHub - danog/php-tokio: Use any async Rust library from PHP!
Use any async Rust library from PHP! Contribute to danog/php-tokio development by creating an account on GitHub.
As a birthday present for Telegram's ?th birthday, MadelineProto now supports VoIP calls again!
Try calling the Magna Luna webradio @magicalcrazypony to hear some cool songs, powered by @MadelineProto!
The new MadelineProto VoIP implementation is written in pure PHP, so it works even on free webhosts!
Check out the new VoIP documentation for more info on how to write your very own Telegram webradio using MadelineProto!
Features (8.0.0-beta131):
- VoIP calls!
- You can now play()
audio files of any format, local files, stream URLs or even stream data using AMP streams!
- You can now play()
audio files even on webhosts, by pre-converting the files using @libtgvoip_bot!
- Added a downloadToReturnedStream
method!
- Updated to layer 161!
New Methods:
- contacts.setBlocked- stories.activateStealthMode- stories.sendReactionChanged Methods:
Added my_stories_from param to contacts.blockAdded my_stories_from param to contacts.unblockAdded my_stories_from param to contacts.getBlockedAdded media_areas param to stories.sendStoryAdded media_areas param to stories.editStoryAdded just_contacts param to stories.getStoryViewsListAdded reactions_first param to stories.getStoryViewsListAdded q param to stories.getStoryViewsListAdded offset param to stories.getStoryViewsListRemoved offset_date param from stories.getStoryViewsListRemoved offset_id param from stories.getStoryViewsListNew Constructors:
- updateStoriesStealthMode- updateSentStoryReaction- storiesStealthMode- mediaAreaCoordinates- mediaAreaVenue- inputMediaAreaVenue- mediaAreaGeoPointChanged Constructors:
Added blocked_my_stories_from param to userFullAdded blocked_my_stories_from param to updatePeerBlockedAdded reactions_count param to storyViewsAdded media_areas param to storyItemAdded sent_reaction param to storyItemAdded stealth_mode param to stories.allStoriesNotModifiedAdded stealth_mode param to stories.allStoriesAdded blocked param to storyViewAdded blocked_my_stories_from param to storyViewAdded reaction param to storyViewAdded reactions_count param to stories.storyViewsListAdded next_offset param to stories.storyViewsListFixes:
- Greatly improved performance by deferring all ORM operations!
- CDN fixes!
- Fix connection to the database when a password is accidentally provided but none is needed
- Removed all generator polyfilling code and deprecated generator functions!
As a side note, I'm very happy of how the current VoIP implementation turned out, and it was a lot of fun to write!
Adding native webhost support required me to write a pure PHP OGG OPUS muxer and demuxer, as well as a full reimplementation of the GrVP protocol in pure PHP: doing it in such a high-level language allowed me to easily use amphp's libraries to easily add support for URLs, streams and all audio formats.
I also wrote a PHP FFI wrapper for libopus for this project, I'll probably split it to a separate package along with the OGG muxer/demuxer because it's really useful :)
docs.madelineproto.xyz
Telegram VoIP phone calls
MadelineProto provides an easy wrapper to work with phone calls.
You can now download any Telegram Story using @tgstories_dl_bot! Just send it a /dlStory @username command, and it will generate download links for all stories on the user's profile! @tgstories_dl_bot is powered by @MadelineProto, and it's fully open source!
Telegram
MadelineProto | Official Channel
Official MadelineProto channel. Italian Channel: @MadelineProtoIta Group: @pwrtelegramgroup
You can now download any Telegram Story using @tgstories_dl_bot!
Just send it a /dlStory @username command, and it will generate download links for all stories on the user's profile!
@tgstories_dl_bot is powered by @MadelineProto, and it's fully open source!
GitHub
MadelineProto/examples/tgstories_dl_bot.php at v8 · danog/MadelineProto
Async PHP client API for the telegram MTProto protocol - danog/MadelineProto
MadelineProto was updated (8.0.0-beta115)!
Features:
- You can now get direct download links for or directly download stories, check out the open-source MadelineProto-based @tgstories_dl_bot to download any Telegram story!
- Added support for parse_mode
parsing for story methods.
- getReply
now simply returns null if the message doesn't reply to any other message.
- getReply
now has an optional parameter that can be used to filter the returned message type.
- Added isSelfUser()
, isSelfBot()
messages to check whether the current user is a user or a bot.
- Improved IDE typehinting.
- CLI bots: you can now optionally specify a default download link URL (used by getDownloadLink
) in the settings.
- Added DialogMessagePinned
service message with a getPinnedMessage()
method.
Fixes:
- Fixed simple filters with service messages.
- Fixed IDE typehinting for getEventHandler
.
- Fixed startAndLoopMulti.
- Tweaked the default drop timeout on media DCs to avoid timeout errors on slow networks.
- Now the admin list only contains user report peers.
- Make markdownEscape
method accessible.
- Fixed getDownloadLink
for non-event-handler web IPC instances.
GitHub
MadelineProto/examples/tgstories_dl_bot.php at v8 · danog/MadelineProto
Async PHP client API for the telegram MTProto protocol - danog/MadelineProto
MadelineProto now has alpha support for Telegram Stories in 8.0.0-beta113!
New Methods:
- users.getStoriesMaxIDs- account.invalidateSignInCodes- contacts.editCloseFriends- contacts.toggleStoriesHidden- channels.clickSponsoredMessage- stories.sendStory- stories.editStory- stories.deleteStories- stories.togglePinned- stories.getAllStories- stories.getUserStories- stories.getPinnedStories- stories.getStoriesArchive- stories.getStoriesByID- stories.toggleAllStoriesHidden- stories.getAllReadUserStories- stories.readStories- stories.incrementStoryViews- stories.getStoryViewsList- stories.getStoriesViews- stories.exportStoryLink- stories.reportNew Constructors:
- inputMediaStory- messageMediaStory- updateStory- updateReadStories- updateStoryID- inputPrivacyKeyAbout- privacyKeyAbout- inputPrivacyValueAllowCloseFriends- privacyValueAllowCloseFriends- webPageAttributeStory- messageReplyStoryHeader- messagePeerVote- messagePeerVoteInputOption- messagePeerVoteMultiple- sponsoredWebPage- storyViews- storyItemDeleted- storyItemSkipped- storyItem- userStories- stories.allStoriesNotModified- stories.allStories- stories.stories- stories.userStories- storyView- stories.storyViewsList- stories.storyViews- inputReplyToMessage- inputReplyToStory- exportedStoryLinkChanged Constructors:
Added close_friend param to userAdded stories_hidden param to userAdded stories_unavailable param to userAdded stories_max_id param to userAdded alt_document param to messageMediaDocumentAdded stories_muted param to inputPeerNotifySettingsAdded stories_hide_sender param to inputPeerNotifySettingsAdded stories_sound param to inputPeerNotifySettingsAdded stories_muted param to peerNotifySettingsAdded stories_hide_sender param to peerNotifySettingsAdded stories_ios_sound param to peerNotifySettingsAdded stories_android_sound param to peerNotifySettingsAdded stories_other_sound param to peerNotifySettingsAdded stories_pinned_available param to userFullAdded stories param to userFullAdded peer param to updateMessagePollVoteRemoved user_id param from updateMessagePollVoteAdded nosound param to documentAttributeVideoAdded preload_prefix_size param to documentAttributeVideoAdded stories_preload param to autoDownloadSettingsAdded small_queue_active_operations_max param to autoDownloadSettingsAdded large_queue_active_operations_max param to autoDownloadSettingsAdded chats param to messages.votesListAdded keep_archived_unmuted param to globalPrivacySettingsAdded keep_archived_folders param to globalPrivacySettingsAdded webpage param to sponsoredMessageAdded my param to messagePeerReaction
docs.madelineproto.xyz
users.getStoriesMaxIDs
users.getStoriesMaxIDs parameters, return type and example
MadelineProto was updated (8.0.0-beta101)! After introducing plugins », bound methods », filters », a built-in cron system », IPC support for the event handler » and automatic static analysis for event handler code » in beta100, beta101 brings some bugfixes…
Community chat: https://t.me/hamster_kombat_chat_2
Twitter: x.com/hamster_kombat
YouTube: https://www.youtube.com/@HamsterKombat_Official
Bot: https://t.me/hamster_kombat_bot
Game: https://t.me/hamster_kombat_bot/
Last updated 3 months, 1 week ago
Your easy, fun crypto trading app for buying and trading any crypto on the market
Last updated 3 months ago
Turn your endless taps into a financial tool.
Join @tapswap_bot
Collaboration - @taping_Guru
Last updated 4 days, 5 hours ago