1.5 KiB
1.5 KiB
title | description | image |
---|---|---|
Getting all chats (dialogs) | There are two ways to get a list of all chats, depending if you logged in as a user, or as a bot. | https://docs.madelineproto.xyz/favicons/android-chrome-256x256.png |
Getting all chats (dialogs)
There are two ways to get a list of all chats, depending if you logged in as a user, or as a bot.
User: get_dialogs
$dialogs = $MadelineProto->get_dialogs();
foreach ($dialogs as $peer) {
$MadelineProto->messages->sendMessage(['peer' => $peer, 'message' => 'Hi! Testing MadelineProto broadcasting!']);
}
get_dialogs
will return a full list of all chats you're member of, see here for the parameters and the result
Bot: internal peer database
foreach ($MadelineProto->API->chats as $bot_api_id => $chat) {
try {
$MadelineProto->messages->sendMessage(['peer' => $chat, 'message' => "Hi $bot_api_id! Testing MadelineProto broadcasting!"]);
} catch (\danog\MadelineProto\RPCErrorException $e) {
echo $e;
}
}
Since bots cannot run get_dialogs
, you must make use of the internal MadelineProto database to get a list of all users, chats and channels MadelineProto has seen.
$MadelineProto->API->chats
contains a list of Chat and User objects, indexed by bot API id.