Skip to content
This repository was archived by the owner on May 14, 2022. It is now read-only.

Commit 3ab9c36

Browse files
committed
Added chat-commands
1 parent fbf5587 commit 3ab9c36

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

lib/Zyberspace/Telegram/Cli/Client.php

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,96 @@ public function broadcast(array $userList, $msg)
8585
. $this->escapeStringArgument($msg));
8686
}
8787

88+
/**
89+
* Creates a new group chat with the users in $userList.
90+
*
91+
* @param string $chatTitle The title of the new chat
92+
* @param array $userList The users you want to add to the chat. Gets formatted with formatPeerList().
93+
* The current telgram-user (who creates the chat) will be added automatically.
94+
*
95+
* @return boolean true on success, false otherwise
96+
*
97+
* @uses exec()
98+
* @uses escapeStringArgument()
99+
* @uses formatPeerList()
100+
*/
101+
public function createGroupChat($chatTitle, $userList)
102+
{
103+
if (count($userList) <= 0) {
104+
return false;
105+
}
106+
107+
return $this->exec('create_group_chat', $this->escapeStringArgument($chatTitle),
108+
$this->formatPeerList($userList));
109+
}
110+
111+
/**
112+
* Returns an info-object about a chat (title, name, members, admin, etc.).
113+
*
114+
* @param string $chat The name of the chat (not the title). Gets escaped with escapePeer().
115+
*
116+
* @return object|boolean A chat-object; false if somethings goes wrong
117+
*
118+
* @uses exec()
119+
* @uses escapePeer()
120+
*/
121+
public function chatInfo($chat)
122+
{
123+
return $this->exec('chat_info', $this->escapePeer($chat));
124+
}
125+
126+
/**
127+
* Renames a chat. Both, the chat title and the print-name will change.
128+
*
129+
* @param string $chat The name of the chat (not the title). Gets escaped with escapePeer().
130+
* @param string $chatTitle The new title of the chat.
131+
*
132+
* @return boolean true on success, false otherwise
133+
*
134+
* @uses exec()
135+
* @uses escapePeer()
136+
* @uses escapeStringArgument()
137+
*/
138+
public function renameChat($chat, $newChatTitle)
139+
{
140+
return $this->exec('rename_chat', $this->escapePeer($chat), $this->escapeStringArgument($newChatTitle));
141+
}
142+
143+
/**
144+
* Adds a user to a chat.
145+
*
146+
* @param string $chat The chat you want the user to add to. Gets escaped with escapePeer().
147+
* @param string $user The user you want to add. Gets escaped with escapePeer().
148+
* @param int $numberOfMessagesToFoward The number of last messages of the chat, the new user should see.
149+
* Default is 100.
150+
*
151+
* @return boolean true on success, false otherwise
152+
*
153+
* @uses exec()
154+
* @uses escapePeer()
155+
*/
156+
public function chatAddUser($chat, $user, $numberOfMessagesToFoward = 100)
157+
{
158+
return $this->exec('chat_add_user', $this->escapePeer($chat), $this->escapePeer($user),
159+
(int) $numberOfMessagesToFoward);
160+
}
161+
162+
/**
163+
* Deletes a user from a chat.
164+
*
165+
* @param string $chat The chat you want the user to delete from. Gets escaped with escapePeer().
166+
* @param string $user The user you want to delete. Gets escaped with escapePeer().
167+
*
168+
* @return boolean true on success, false otherwise
169+
*
170+
* @uses exec()
171+
* @uses escapePeer()
172+
*/
173+
public function chatDeleteUser($chat, $user)
174+
{
175+
return $this->exec('chat_delete_user', $this->escapePeer($chat), $this->escapePeer($user));
176+
}
177+
88178
/**
89179
* Sets the profile name
90180
*

0 commit comments

Comments
 (0)