@@ -493,27 +493,27 @@ public function send_broadcast(callbackQuery $query): void {
493493);
494494
495495$ sentMessage2 = $ this ->extractMessageId ($ sentMessage );
496- Amp \File \write (__DIR__ ."/data/messagetoeditbroadcast1.txt " , "$ sentMessage2 " );
497- Amp \File \write (__DIR__ ."/data/messagetoeditbroadcast2.txt " , "$ senderId " );
496+ \ Amp \File \write (__DIR__ ."/data/messagetoeditbroadcast1.txt " , "$ sentMessage2 " );
497+ \ Amp \File \write (__DIR__ ."/data/messagetoeditbroadcast2.txt " , "$ senderId " );
498498
499499 if (file_exists (__DIR__ ."/data/ $ senderId/txt.txt " )) {
500- $ filexmsgidtxt = Amp \File \read (__DIR__ ."/data/ $ senderId/txt.txt " );
500+ $ filexmsgidtxt = \ Amp \File \read (__DIR__ ."/data/ $ senderId/txt.txt " );
501501}else {
502502$ filexmsgidtxt = null ;
503503}
504504 if (file_exists (__DIR__ ."/data/ $ senderId/ent.txt " )) {
505- $ filexmsgident = json_decode (Amp \File \read (__DIR__ ."/data/ $ senderId/ent.txt " ),true );
505+ $ filexmsgident = json_decode (\ Amp \File \read (__DIR__ ."/data/ $ senderId/ent.txt " ),true );
506506 }else {
507507$ filexmsgident = null ;
508508 }
509509 if (file_exists (__DIR__ ."/data/ $ senderId/media.txt " )) {
510- $ filexmsgidmedia = Amp \File \read (__DIR__ ."/data/ $ senderId/media.txt " );
510+ $ filexmsgidmedia = \ Amp \File \read (__DIR__ ."/data/ $ senderId/media.txt " );
511511 }else {
512512$ filexmsgidmedia = null ;
513513 }
514514
515515 if (file_exists (__DIR__ ."/data/broadcastsend.txt " )) {
516- $ check2 = Amp \File \read (__DIR__ ."/data/broadcastsend.txt " );
516+ $ check2 = \ Amp \File \read (__DIR__ ."/data/broadcastsend.txt " );
517517if ($ check2 == "USERS " ){
518518
519519
@@ -811,9 +811,9 @@ public function handleBroadcastProgress(Progress $progress): void {
811811if (time () - $ this ->lastLog > 5 || $ progress ->status === Status::GATHERING_PEERS ) {
812812 $ this ->lastLog = time ();
813813 if (file_exists (__DIR__ ."/data/messagetoeditbroadcast2.txt " )) {
814- $ filexmsgid1 = Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast2.txt " );
814+ $ filexmsgid1 = \ Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast2.txt " );
815815 if (file_exists (__DIR__ ."/data/messagetoeditbroadcast1.txt " )) {
816- $ filexmsgid2 = Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast1.txt " );
816+ $ filexmsgid2 = \ Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast1.txt " );
817817 try {
818818$ this ->messages ->editMessage (peer: $ filexmsgid1 , id: $ filexmsgid2 , message: "⏳ $ progressStr " , reply_markup: null );
819819} catch (Throwable $ e ) {}
@@ -824,7 +824,7 @@ public function handleBroadcastProgress(Progress $progress): void {
824824if (time () - $ this ->lastLog > 5 || $ progress ->status === Status::FINISHED ) {
825825 $ this ->lastLog = time ();
826826if (file_exists (__DIR__ ."/data/broadcastsend.txt " )) {
827- $ broadcast_send = Amp \File \read (__DIR__ ."/data/broadcastsend.txt " );
827+ $ broadcast_send = \ Amp \File \read (__DIR__ ."/data/broadcastsend.txt " );
828828}
829829if (!file_exists (__DIR__ ."/data/broadcastsend.txt " )) {
830830$ broadcast_send = "ALL " ;
@@ -835,10 +835,10 @@ public function handleBroadcastProgress(Progress $progress): void {
835835$ sucessCount2 = $ progress ->failCount ;
836836
837837 if (file_exists (__DIR__ ."/data/messagetoeditbroadcast2.txt " )) {
838- $ filexmsgid1 = Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast2.txt " );
838+ $ filexmsgid1 = \ Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast2.txt " );
839839
840840 if (file_exists (__DIR__ ."/data/messagetoeditbroadcast1.txt " )) {
841- $ filexmsgid2 = Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast1.txt " );
841+ $ filexmsgid2 = \ Amp \File \read (__DIR__ ."/data/messagetoeditbroadcast1.txt " );
842842
843843$ bot_API_markup = ['inline_keyboard ' => [[['text ' =>"🔙 " ,'callback_data ' =>"admin_back " ]]]];
844844
@@ -864,31 +864,61 @@ public function handleBroadcastProgress(Progress $progress): void {
864864} catch (Throwable $ e ) {}
865865}
866866
867-
867+ public static function getPlugins (): array {
868+ return [\danog \MadelineProto \EventHandler \Plugin \RestartPlugin::class];
869+ }
870+ public static function getPluginPaths (): string |array |null {
871+ return null ;
872+ }
868873}
869874
870875function RunBot (): void {
871876 try {
872-
873- $ env = parse_ini_file (__DIR__ . '/.env ' );
874-
877+ $ env = parse_ini_file (__DIR__ ."/ " .'.env ' );
875878if (!isset ($ env ['API_ID ' ], $ env ['API_HASH ' ], $ env ['BOT_TOKEN ' ])) {
876879 die ("Missing environment variables in .env \n" );
877880}
878881
879- $ API_ID = $ env ['API_ID ' ];
880- $ API_HASH = $ env ['API_HASH ' ];
882+ $ API_ID = $ env ['API_ID ' ];
883+ $ API_HASH = $ env ['API_HASH ' ];
881884$ BOT_TOKEN = $ env ['BOT_TOKEN ' ];
885+ $ DB_FLAG = $ env ['DB_FLAG ' ] ?? 'no ' ;
886+ $ BOT_NAME = $ env ['BOT_NAME ' ] ?? 'GetAnyMessage ' ;
887+ $ dbHost = $ env ['DB_HOST ' ] ?? 'localhost ' ;
888+ $ dbPort = $ env ['DB_PORT ' ] ?? 3306 ;
889+ $ dbUser = $ env ['DB_USER ' ] ?? 'mpuser ' ;
890+ $ dbPass = $ env ['DB_PASS ' ] ?? 'mp_pass ' ;
891+ $ dbName = $ env ['DB_NAME ' ] ?? 'madelineproto ' ;
882892
883893$ settings = new \danog \MadelineProto \Settings ;
884-
885894$ settings ->setAppInfo ((new \danog \MadelineProto \Settings \AppInfo )->setApiId ((int )$ API_ID )->setApiHash ($ API_HASH ));
886895
887- GetAnyMessage::startAndLoopBot (__DIR__ .'/bot.madeline ' , $ BOT_TOKEN , $ settings );
896+ $ connection = (new \danog \MadelineProto \Settings \Connection ())->setTimeout (600.0 )->setRetry (true )->setMaxMediaSocketCount (1000 );
897+ $ settings ->setConnection ($ connection );
898+
899+ $ files = (new \danog \MadelineProto \Settings \Files ())->setUploadParallelChunks (7 )->setDownloadParallelChunks (12 );
900+ $ settings ->setFiles ($ files );
901+
902+ $ logger = (new \danog \MadelineProto \Settings \Logger )->setLevel (\danog \MadelineProto \Logger::ERROR );
903+ $ settings ->setLogger ($ logger );
904+
905+ if ($ DB_FLAG != 'no ' ){
906+ $ db = (new \danog \MadelineProto \Settings \Database \Mysql ())
907+ ->setUri ("tcp:// $ dbHost: $ dbPort " )
908+ ->setUsername ($ dbUser )
909+ ->setPassword ($ dbPass )
910+ ->setDatabase ($ dbName )
911+ ->setEphemeralFilesystemPrefix ("Session_ {$ BOT_NAME }" );
912+ $ settings ->setDb ($ db );
913+ }
914+
915+ GetAnyMessage::startAndLoopBot (__DIR__ ."/bot_ {$ BOT_NAME }.madeline " , $ BOT_TOKEN , $ settings );
888916
889917} catch (\Throwable $ e ) {
890- // if ($e instanceof \Amp\TimeoutException) {
891- echo "\n" . $ e ->getMessage () . "\n" ;
918+
919+ if (strpos ($ e ->getMessage (), 'bad_msg_notification ' ) !== false ) exit (1 );
920+ if ($ e instanceof \Amp \TimeoutException || $ e instanceof \Amp \CancelledException) exit (1 );
921+
892922}
893923}
894924RunBot ();
0 commit comments