86 lines
2.2 KiB
PHP
86 lines
2.2 KiB
PHP
<?php
|
|
namespace DBot\Telegram;
|
|
|
|
class Client extends Base
|
|
{
|
|
public function setStatusOnline()
|
|
{
|
|
return $this->exec('status_online');
|
|
}
|
|
|
|
public function setStatusOffline()
|
|
{
|
|
return $this->exec('status_offline');
|
|
}
|
|
|
|
|
|
public function msg($peer, $msg)
|
|
{
|
|
$peer = $this->escapePeer($peer);
|
|
$msg = $this->escapeStringArgument($msg);
|
|
return $this->exec('msg ' . $peer . ' ' . $msg);
|
|
}
|
|
|
|
public function addContact($phoneNumber, $firstName, $lastName)
|
|
{
|
|
$phoneNumber = preg_replace('%[^0-9]%', '', (string) $phoneNumber);
|
|
if (empty($phoneNumber)) {
|
|
return false;
|
|
}
|
|
|
|
return $this->exec('add_contact ' . $phoneNumber . ' ' . $this->escapeStringArgument($firstName)
|
|
. ' ' . $this->escapeStringArgument($lastName));
|
|
}
|
|
|
|
public function renameContact($contact, $firstName, $lastName)
|
|
{
|
|
return $this->exec('rename_contact ' . $this->escapePeer($contact)
|
|
. ' ' . $this->escapeStringArgument($firstName) . ' ' . $this->escapeStringArgument($lastName));
|
|
}
|
|
|
|
public function deleteContact($contact)
|
|
{
|
|
return $this->exec('del_contact ' . $this->escapePeer($contact));
|
|
}
|
|
|
|
public function markRead($peer)
|
|
{
|
|
return $this->exec('mark_read ' . $this->escapePeer($peer));
|
|
}
|
|
|
|
public function getContactList()
|
|
{
|
|
return explode(PHP_EOL, $this->exec('contact_list'));
|
|
}
|
|
|
|
public function getUserInfo($user)
|
|
{
|
|
return $this->exec('user_info ' . $this->escapePeer($user));
|
|
}
|
|
|
|
public function getDialogList()
|
|
{
|
|
return explode(PHP_EOL, $this->exec('dialog_list'));
|
|
}
|
|
|
|
public function getHistory($peer, $limit = null, $offset = null)
|
|
{
|
|
if ($limit !== null) {
|
|
$limit = (int) $limit;
|
|
if ($limit < 1) { //if limit is lesser than 1, telegram-cli crashes
|
|
$limit = 1;
|
|
}
|
|
$limit = ' ' . $limit;
|
|
} else {
|
|
$limit = '';
|
|
}
|
|
if ($offset !== null) {
|
|
$offset = ' ' . (int) $offset;
|
|
} else {
|
|
$offset = '';
|
|
}
|
|
|
|
return $this->exec('history ' . $this->escapePeer($peer) . $limit . $offset);
|
|
}
|
|
}
|