$settings
__construct($this->session->getSessionDirectoryPath())]]>
Logger::$default
getMessage
wakeup
API
API
API
API
API
API
API
API
API
API
API
API
API
API
API
API
API
API
API
logger
$eventHandler
loop
loop
getMessage
isInited
setEventHandler
APIStart
self::call($a)
self::call($b)
self::call($callable)
self::call($promise)
self::call($promise)
self::timeout($promise, $timeout)
$callable instanceof Generator
$callable
]]>
$v instanceof Generator ? self::consumeGenerator($v) : $v]]>
all
any
first
some
wait
\is_callable($callable)
$id
broadcasts[$id]]]>
broadcasts[$id]]]>
broadcasts[$id]?->cancel()]]>
broadcasts[$id]?->getProgress()]]>
filter->whitelist) && !\in_array($peer, $this->filter->whitelist, true)]]>
getStream()]]>
$API
$ctx
$datacenter
$logger
$shared
refreshNext
refreshNext
$uri
$auth_key
$data
$data
$fileName
$fileName
$fp
$new_session
$options
$options
$session
$settings
$settings
$settings
$settings
$tdesktop_base_path
$tdesktop_key
$tdesktop_user_base_path
pyrogram
tdesktop
tdesktop_decrypt
tdesktop_fopen
tdesktop_fopen_encrypted
tdesktop_md5
tdesktop_read_bytearray
telethon
zerobias
$part_one_md5
$part_one_md5
$dc
$main_dc_id
notFalse
$socket instanceof Connection
\is_int($id)
$default[2]
$default[2]
$dohWrapper
$socket instanceof DataCenterConnection
settings->getTransport()]]>
\is_int($key)
$API
$connectionsPromise
$ctx
$datacenter
bind
hasTempAuthKey()
&& $authorized_socket->hasPermAuthKey()
&& $authorized_socket->isAuthorized()
&& $this->API->authorized === \danog\MadelineProto\API::LOGGED_IN]]>
permAuthKey =& $this->API->datacenter->getDataCenterConnection($dc)->permAuthKey]]>
$value
getCache
]]>
$config
$config
withDatabase(null)]]>
getIdleTimeout()]]>
getMaxConnections()]]>
query("SHOW VARIABLES LIKE 'max_connections'")->fetchRow()['Value']]]>
$config
$config
withDatabase(null)]]>
getIdleTimeout()]]>
getMaxConnections()]]>
$previous
$settings
$settings
$settings
$instance
$v
$value
$value
$v]]>
\json_decode($value, true, 256, JSON_THROW_ON_ERROR)]]>
$dbSettings
$dbSettings
$dbSettings
$dbSettings
$dbSettings
$dbSettings
$dbSettings
$dbSettings
$deserializer
$deserializer
$deserializer
$deserializer
$deserializer
$deserializer
$deserializer
$deserializer
$serializer
$serializer
$serializer
$serializer
$serializer
$serializer
$serializer
$serializer
$table
$table
$table
$table
$table
$table
$table
$table
static
$old
setSettings
new static()
MemoryArray
MemoryArray
$array
$flags
$settings
dbSettings]]>
$stmt
$pdo
$pdo
$value
$v
$v
$v
$v
$v
$v
$v
$value
\igbinary_unserialize(\hex2bin($v))]]>
\unserialize(\hex2bin($v))]]>
\json_decode(\hex2bin($value), true, 256, JSON_THROW_ON_ERROR)]]>
dbSettings]]>
$v
$v
$v
$v
$v
$value
$v]]>
\json_decode($value, true, 256, JSON_THROW_ON_ERROR)]]>
dbSettings]]>
$db
db->get($key)]]>
$value
$stmt
$db
$db
$db
$db
$db
$db
fetchRow()['count']]]>
$builtUri
$uri
$orig[1][0] === BufferedRawStream::class
$class
getReportPeers())]]>
getReportPeers())]]>
wrapper->getAPI()]]>
getParameters()[0]->getType()]]>
self::$pluginCache
\array_values
require $file
new $class
replyCache]]>
replyCache]]>
$replyCache
$adminIds
$peerResolved
$peersResolved
$peerResolved
$matches
$matches
$peerResolved
botApiFileId]]>
botApiFileUniqueId]]>
$thumbs
$videoThumbs
AbstractAudio
AbstractAudio
AbstractSticker
AbstractSticker
AbstractVideo
AbstractVideo
AnimatedSticker
AnimatedSticker
Audio
Audio
CustomEmoji
CustomEmoji
Document
Document
DocumentPhoto
DocumentPhoto
Gif
Gif
MaskSticker
MaskSticker
Photo
Photo
RoundVideo
RoundVideo
StaticSticker
StaticSticker
Sticker
Sticker
Video
Video
VideoSticker
VideoSticker
Voice
Voice
entities]]>
entities]]>
getClient()->wrapMessage($this->getClient()->extractMessage($result))]]>
Message
getClient()->wrapMessage($this->getClient()->extractMessage($result))]]>
$html
$htmlTelegram
Message
wrapMedia($rawMessage['media'], $this->protected)
: null]]>
ChannelMessage
ChannelMessage
ChannelMessage
GroupMessage
GroupMessage
GroupMessage
PrivateMessage
PrivateMessage
PrivateMessage
DialogCreated
DialogMemberLeft
DialogMembersJoined
DialogMessagePinned
DialogPhotoChanged
DialogTitleChanged
Message
getIdInternal($rawCallback['peer'])]]>
$code
$errfile
$errline
$errno
$errstr
$file
$line
$message
__invoke
self::$map
self::$map ??= new WeakMap
\danog\MadelineProto\AsyncTools::after($a, $b)
\danog\MadelineProto\AsyncTools::all($promises)
\danog\MadelineProto\AsyncTools::any($promises)
\danog\MadelineProto\AsyncTools::call($promise)
\danog\MadelineProto\AsyncTools::first($promises)
\danog\MadelineProto\AsyncTools::some($promises)
\danog\MadelineProto\AsyncTools::timeout($promise, $timeout)
\danog\MadelineProto\AsyncTools::timeoutWithDefault($promise, $timeout, $default)
\danog\MadelineProto\AsyncTools::wait($promise)
loop
loop
wrapper->getAPI()->getEventHandler($class)]]>
T|EventHandlerProxy|__PHP_Incomplete_Class|null
$data
MTProtoToTd
MTProtoToTdcli
all
any
completeCall
completePhoneLogin
confirmCall
downloadToCallable
downloadToDir
downloadToStream
end
first
loop
phoneLogin
requestCall
requestSecretChat
some
start
tdToTdcli
upload
uploadEncrypted
uploadFromCallable
uploadFromStream
uploadFromTgfile
uploadFromUrl
wait
account ??= new \danog\MadelineProto\Namespace\AbstractAPI('account')]]>
auth ??= new \danog\MadelineProto\Namespace\AbstractAPI('auth')]]>
bots ??= new \danog\MadelineProto\Namespace\AbstractAPI('bots')]]>
channels ??= new \danog\MadelineProto\Namespace\AbstractAPI('channels')]]>
chatlists ??= new \danog\MadelineProto\Namespace\AbstractAPI('chatlists')]]>
contacts ??= new \danog\MadelineProto\Namespace\AbstractAPI('contacts')]]>
folders ??= new \danog\MadelineProto\Namespace\AbstractAPI('folders')]]>
help ??= new \danog\MadelineProto\Namespace\AbstractAPI('help')]]>
langpack ??= new \danog\MadelineProto\Namespace\AbstractAPI('langpack')]]>
messages ??= new \danog\MadelineProto\Namespace\AbstractAPI('messages')]]>
payments ??= new \danog\MadelineProto\Namespace\AbstractAPI('payments')]]>
phone ??= new \danog\MadelineProto\Namespace\AbstractAPI('phone')]]>
photos ??= new \danog\MadelineProto\Namespace\AbstractAPI('photos')]]>
stats ??= new \danog\MadelineProto\Namespace\AbstractAPI('stats')]]>
stickers ??= new \danog\MadelineProto\Namespace\AbstractAPI('stickers')]]>
stories ??= new \danog\MadelineProto\Namespace\AbstractAPI('stories')]]>
updates ??= new \danog\MadelineProto\Namespace\AbstractAPI('updates')]]>
upload ??= new \danog\MadelineProto\Namespace\AbstractAPI('upload')]]>
users ??= new \danog\MadelineProto\Namespace\AbstractAPI('users')]]>
$callback
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
setWrapper
$class
downloadToCallable
downloadToDir
downloadToFile
loop
methodCallAsyncRead
uploadFromCallable
uploadFromTgfile
uploadFromUrl
getException()]]>
logger
$logger
$server
$previous
type($this->message, $this->code, $previous)]]>
code]]>
exception ? $this->exception->getException() : null]]>
?Throwable
$address
(int) $port
$arguments
$arguments
$arguments
include $autoloadPath
$callback
$server
$settings
$payload === self::SHUTDOWN
$payload === self::SHUTDOWN
unwrap
ServerCallback
ServerCallback
$args
$this->__call($id, $args)]]>
$data
copy
unwrap
$data
Wrapper
Wrapper
new $class($this, $ids)
callbackIds[] = &$callback]]>
callbackIds[] = &$callback]]>
IteratorAggregate
getEventHandler()::class]]>
$optional
$optional
$optional
$optional
$optional
$optional
$optional
$optional
getResource()]]>
mode === self::FILE_LOGGER
? $this->optional
: Magic::$script_cwd.DIRECTORY_SEPARATOR.'MadelineProto.log']]>
optional]]>
optional]]>
stdout->getResource()]]>
$optional
optional, [$param, $level])]]>
$colors
$stdout
colors]]>
colors]]>
colors]]>
colors]]>
colors]]>
colors]]>
colors]]>
colors]]>
getMsgId()]]>
API->settings]]>
getRpc
CheckLoop
CheckLoop
CheckLoop
CheckLoop
CheckLoop
API]]>
CleanupLoop
CleanupLoop
CleanupLoop
CleanupLoop
CleanupLoop
connection->msgIdHandler?->cleanup()]]>
connection->msgIdHandler]]>
HttpWaitLoop
getSettings
PingLoop
PingLoop
PingLoop
PingLoop
shared]]>
bufferRead($payload_length)]]>
bufferRead(4)]]>
bufferRead(4)]]>
bufferRead(8)]]>
$message_data
$message_data
$message_key
getReadBuffer
ReadLoop
getSerializedBody()]]>
getSerializedBody()]]>
connection->call_queue]]>
connection->call_queue]]>
getWriteBuffer
getWriteBuffer
WriteLoop
shared->isHttp() && empty($this->connection->pendingOutgoing)]]>
$callable()]]>
$msg
$messages
$update
feed
feedSingle
$state
$updater
FeedLoop
SecretFeedLoop
checkSeq
feed
API->feeders[$channelId]]]>
date
pts
pts
pts
pts
pts
qts
qts
qts
update
update
update
update
update
update
update
API->authorization['user']]]>
API->authorization['user']['bot']]]>
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$difference
$feeder
UpdateLoop
API->feeders[$channelId]?->resume()]]>
datacenter)]]>
TL)]]>
settings)]]>
settings)]]>
dcList, $this->settings->getConnection())]]>
$callbacks
$callbacks
getInputConstructor(...),
),
\array_fill_keys(
[
'User',
'Chat',
'Peer',
'InputDialogPeer',
'InputNotifyPeer',
],
$this->getInfo(...),
),
\array_fill_keys(
[
'InputMedia',
'InputDocument',
'InputPhoto',
],
$this->getFileInfo(...),
),
[
'InputFileLocation' => $this->getDownloadInfo(...),
'InputPeer' => $this->getInputPeer(...),
'InputCheckPasswordSRP' => function (string $password): array {
return (new PasswordCalculator($this->methodCallAsyncRead('account.getPassword', [])))->getCheckPassword($password);
},
],
)]]>
array
serializeSession
authorization['user']['bot']]]>
channels_state->get()]]>
channels_state->get()]]>
channels_state->get()]]>
channels_state->get()]]>
$path
getSelf()['bot']]]>
getSelf()['premium']]]>
authorization['hint']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']['bot']]]>
authorization['user']['bot']]]>
authorization['user']['bot']]]>
authorization['user']['id']]]>
logger
start
start
$channelParticipants
$chats
$full_chats
$logger
$minDatabase
$session
$snitch
$usernames
$wrapper
MTProto
sanitizeReportPeers($userOrId)]]>
chats]]>
chats]]>
minDatabase?->sync()]]>
wrapper) && $this->isInited()]]>
authorized === API::LOGGED_IN && \is_int($dc_id)]]>
datacenter]]>
\is_int($dc_id)
datacenter)]]>
minDatabase]]>
settings->getAppInfo()->getLangCode()]]]>
getBody
state |= self::STATE_ACKED]]>
state |= self::STATE_REPLIED]]>
state |= self::STATE_SENT]]>
authKey]]>
authKey]]>
authorized
{$key} =& $bound->{$key}]]>
ack_queue]]>
new_outgoing]]>
expires
$f->await()]]>
methodCallAsyncRead
resume
resume
getMaxId
$e]]>
$response
\time() + $seconds
$msgId
$msgId
getMsgId()]]>
getMsgId()]]>
getMsgId()]]>
resume
API->authorized_dc == $this->datacenter && $this->API->authorized === \danog\MadelineProto\API::LOGGED_IN]]>
$contentRelated
$contentRelated
generateInSeqNo
generateOutSeqNo
$msgIdHandler
methodCallAsyncRead
methodCallAsyncWrite
syncLoading
getSelf()['id']]]>
getSelf()['id']]]>
$media
extractBotAPIFile($this->MTProtoToBotAPI($media))['file_id']]]>
static function (int $part_num) use ($size, $file_id, $part_total_num, $part_size, $callable, $ige) {
$data
$media
downloadToCallable
downloadToDir
genAllFile
uploadFromCallable
uploadFromTgfile
uploadFromUrl
read[$offset]]]>
write[$offset]]]>
write[$offset]]]>
$messageMedia
$old_dc
decrypt
getReference
getReference
getReference
getReference
getReference
getReference
getReference
$res
$res
$res
$res
$res
$res
$res
$res
$res
$res
$res
$res
$res
Message
static function (int $offset, int $size) use ($stream) {
static function (int $offset, int $size) use ($stream, $seekable, $lock) {
static function (string $payload, int $offset) use ($stream, $seekable, $lock) {
downloadToStream
upload
uploadEncrypted
uploadFromStream
$file
$file
$body
$size
read
seek
seek
populateFrom
$id
$peers
$peers
$peers
$peers
db]]>
$db
API->chats]]>
db]]>
powMod
getInfo($peer, \danog\MadelineProto\API::INFO_TYPE_CONSTRUCTOR)['forum']]]>
$channel
$channel
$channel
$channel
$channel
$filter
$filter
$filter
$filter
$filter
$folder_id
$gres
$limit
$limit
$limit
$offset
$offset
$offset
$q
$q
$q
$q
$q
$res
$res
$total_count
$total_count
fetchParticipants
fetchParticipantsCache
fwdPeerIsset
getInputConstructor
getInputPeer
getParticipantsHash
recurseAlphabetSearchParticipants
\danog\MadelineProto\API::PEER_TYPE_*
$promises
getIdInternal($full)]]>
getIdInternal($full)]]>
getIdInternal($id)]]>
getIdInternal($id)]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
full_chats]]>
full_chats]]>
API->authorization['user']]]>
API->authorization['user']]]>
API->authorization['user']['id']]]>
API->authorization['user']['id']]]>
$db
$extra_ranges
$range_orig
$seek_end
wrapMedia([
'_' => 'messageMediaPhoto',
'photo' => $message['action']['photo']
])]]>
nextSent]]>
getUpdatesState
loadUpdateState
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
authorization['user']['id']]]>
msg_ids]]>
addPendingWakeups
waitForInternalStart
$first
Tools::wait($callable())
completeLogin
createApp
getApp
hasApp
loop
settings]]>
$value
settings]]>
methodCallAsyncRead
$wrapper
$file
$message
$level
$message
$previous
$caller
$code
$message
$caller
$method
$e
$fp
$n
$chat
completeSecretChat
requestSecretChat
$chat_id
$chat_id
$encrypted_data
$encrypted_data
$message_key
$message_key
$old
$old
$chat
$chat
$chat_id
$chat_id
$seqno
$seqno
checkSecretInSeqNo
checkSecretOutSeqNo
generateSecretInSeqNo
generateSecretOutSeqNo
[$unserialized, $unlock]
$ipcSocket
$ipcSocket
$unserialized
unserialize($this->ipcStatePath)]]>
?IpcState
read(null, 1)]]>
read(null, 1)]]>
$php[0]
$php[1]
$php[0]
$php[1]
lightState ??= $this->unserialize($this->lightStatePath)]]>
extra]]>
$stream
$l
$append
$append_after
$memory_stream
$stream
$append
$append_after
$decrypt
$encrypt
$extra
$read_buffer
$stream
$write_buffer
$append
$append_after
read
write
$hash_name
$read_buffer
$read_check_after
$read_check_pos
$read_hash
$rev
$stream
$write_buffer
$write_check_after
$write_check_pos
$write_hash
getStream($header)]]>
close
$append
$append_after
$obj
$socketContext
$uri
$extra
StreamInterface
$stream
$l
$in_seq_no
$out_seq_no
$stream
$l
$stream
$stream
$uri
$code
$ctx
$header
$code
$current_header[1]
$description
getStream($header)]]>
$stream
$l
$stream
$l
$extra
$stream
]]>
$offset
$offset
$offset
$offset
$offset
$offset
$size
currentDuration += $frameDuration]]>
currentDuration += $totalDuration]]>
$emitter
$packFormat
$stream
$streamCount
getReadBuffer($l)]]>
$offset
$offset
$offset
$offset
$stream
$extra
$read
$code
$current_header[1]
$description
$l
getStream()]]>
$stream
$extra
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(1)]]>
bufferRead(16)]]>
bufferRead(2)]]>
bufferRead(4)]]>
$length
$ip
getStream(\chr(5).\chr(\strlen($methods)).$methods)]]>
setupTls
getStream
write
write
$connector
$stream
$data
$markup
parseReplyMarkup
}>]]>
$arguments[$key]
$photo
$photoSize
$thumbnail
$file
$message
$posClose === false
$posClose === false
MTProtoToTd
MTProtoToTdcli
tdToTdcli
authorization['user']]]>
authorization['user']['id']]]>
$file
$message
\is_resource($stream)
\is_resource($stream)
API->getInfo($arguments[$current_argument['name']]))['InputEncryptedChat']]]>
$result
>]]>
$arg
$v
$v
deserialize
serializeMethod
serializeObject
serializeParams
API->logger]]>
botAPIToMTProto
logger
$elem[1]
$elem[1]
$elem[1]
$elem[1]
$afterConstructorDeserialization
$afterMethodResponseDeserialization
$beforeConstructorDeserialization
$beforeConstructorSerialization
$beforeMethodResponseDeserialization
$constructors
$methods
$tdDescriptions
$typeMismatch
(string) $object
(string) $object
(string) $object
findByPredicate
findByType
deserialize
serializeMethod
serializeObject
findById
findByMethod
click
authorization['user']]]>
authorization['user']['id']]]>
$c->name !== null]]>
$val
$this->{$var}]]>
end
getVar
$value
$value
$this->{$var},
$obj,
$obj::class,
)->__invoke()]]>
{$var} =& $val;
},
$obj,
$obj::class,
)->__invoke()]]>
__invoke
__invoke
{$var} =& $val]]>
$stream
$TLID_DECRYPTED_AUDIO_BLOCK
$TLID_REFLECTOR_PEER_INFO
$TLID_REFLECTOR_SELF_INFO
$TLID_SIMPLE_AUDIO_BLOCK
$callID
$configuration
$creatorID
$holdFiles
$inputFiles
$internalStorage
$isPlaying
$otherID
$outputFile
$protocol
$received_timestamp_map
$remote_ack_timestamp_map
$session_in_seq_no
$session_out_seq_no
$signal
$storage
$visualization
$voip_state
openFile
$authKey
$ack_mask
$last_ack_id
$packet_seq_no
$s1
$s2
received_packet
seqgt
$controller
$id
completeCall
confirmCall
requestCall
read
read
$args
$datacenter
$object
$stream
pack_string
recv_message
send_message
unpack_string
$ack_mask
$in_seq_no
$out_seq_no
]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']]]>
authorization['user']['bot']]]>
authorization['user']['bot']]]>
authorization['user']['bot']]]>
authorization['user']['bot']]]>
$dialogs
chats]]>
chats]]>
event_handler_instance === null || $this->event_handler_instance instanceof __PHP_Incomplete_Class]]>
event_handler_instance instanceof __PHP_Incomplete_Class]]>
PluginEventHandler|EventHandlerProxy|null
pluginInstances[$class]]]>
pluginInstances[$class]]]>
pluginInstances[$class]]]>
pluginInstances[$class]]]>
pluginInstances[$class]]]>
new $class_name
array
completePhoneLogin
phoneLogin
authorization['phone_code']]]>
authorization['phone_code_hash']]]>
authorization['phone_code_hash']]]>
authorization['phone_number']]]>
authorization['phone_number']]]>
\is_array($auth_key)
loop
getAuthorization() === \danog\MadelineProto\API::LOGGED_IN]]>
start
$title
$result
$result
function ($_) use ($callback) {
$callback()
$callback()