PWRTelegram API channel

Description
Official channel for the PWRTelegram bot API.

Installation instructions: https://pwrtelegram.xyz

Creator: @danogentili

Official support group: @pwrtelegramgroup

Italian channel: @pwrtelegramita

Source code: https://github.com/pwrtelegram
Advertising
We recommend to visit

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

6 months, 3 weeks 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.

8 months ago

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!

1 year, 3 months ago

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 : you can now use any async Rust library from PHP!
1 year, 3 months ago

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.

I'm very happy to announce the first release of : you can now use any async Rust library from PHP!
1 year, 4 months ago

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.

1 year, 5 months ago

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 …
1 year, 5 months ago

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

You can now download any Telegram Story using [@tgstories\_dl\_bot](https://t.me/tgstories_dl_bot)!
1 year, 5 months ago

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 was updated (8.0.0-beta115)!
1 year, 5 months ago

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

1 year, 5 months ago

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…

We recommend to visit

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