Content | |
---|---|
Sender | pytg.sender.Sender |
Exceptions | pytg.exceptions.* |
Command group subsection |
---|
Getting a Sender instance |
default_answer_timeout |
sending |
messages |
peer |
user |
contacts |
group chats |
secret chats |
own profile |
system |
diversa |
from pytg.sender import Sender
sender = Sender("localhost", 4458) # or other address/port.
If the timeout in the command table below is set to None
,
the command waits the default timeout specified in Sender.default_answer_timeout
, which is 1.0
seconds per default.
You can change it in your sender instance:
sender = Sender( ... )
sender.default_answer_timeout = 2 # in seconds
You may change the timeout of any command with supplying result_timeout=<seconds>
in the call.
Also you can surround it with a try block, excepting a NoResponse
if you like to ignore timeouts.
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.msg( peer, text) |
success_fail | 60.0 | Sends text message to peer |
sender.send_msg( peer, text) |
success_fail | 60.0 | Sends text message to peer (alias to msg) |
sender.send_text( peer, text) |
success_fail | 60.0 | Sends text message to peer (alias to msg) |
sender.send_audio( peer, file) |
success_fail | 120.0 | Sends audio message to peer |
sender.send_typing( peer) |
success_fail | None | Shows everyone else "User is typing" |
sender.send_typing_abort( peer) |
success_fail | None | Stop showing you are typing |
sender.send_photo( peer, file, caption) |
success_fail | 120.0 | Send a photo to a peer |
sender.send_video( peer, file, caption) |
success_fail | 120.0 | Send a video to a peer |
sender.send_document( peer, file) |
success_fail | 120.0 | Send a document to a peer |
sender.send_file( peer, file) |
success_fail | 120.0 | Send a file to a peer. The CLI tries to guess the filetype. |
sender.send_location( peer, latitude, longitude) |
success_fail | None | Send a geo location to a peer (lat and long are floats) |
sender.send_contact( peer, phone, first_name, last_name) |
something | 60.0 | Sends contact (not necessary telegram user) to a peer. phone, first_name, last_name are strings |
sender.send_text_from_file( peer, file) |
success_fail | 60.0 | Reads a file and uses "send_text() (which is an alias to msg)" to send the text content to a peer |
sender.fwd( peer, msg_id) |
success_fail | None | Forwards message to peer. Forward to secret chats is forbidden |
sender.fwd_media( peer, msg_id) |
success_fail | None | Forwards message media to peer. Forward to secret chats is forbidden. Result slightly differs from fwd |
sender.reply_text( msg_id, text) |
success_fail | None | Sends text reply to message |
sender.reply_audio( msg_id, file) |
success_fail | 120.0 | Sends audio reply to peer |
sender.reply_contact( msg_id, phone, first_name, last_name) |
success_fail | 120.0 | Sends contact reply (not necessary telegram user) to a peer |
sender.reply_document( msg_id, file) |
success_fail | None | Sends document reply to peer |
sender.reply_file( msg_id, file) |
success_fail | 120.0 | Sends file (same as document) reply to peer |
sender.reply_location( msg_id, latitude, longitude) |
success_fail | None | Sends geo reply location |
sender.reply_photo( msg_id, file, caption) |
success_fail | 120.0 | Sends photo reply to peer |
sender.reply_video( msg_id, file, caption) |
success_fail | 120.0 | Sends video reply to peer |
sender.broadcast_text( user, text) |
success_fail | 60.0 | Sends text to several users at once |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.load_audio( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_chat_photo( chat) |
success_fail | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_file( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_file_thumb( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_document( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_document_thumb( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_photo( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_video( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
sender.load_video_thumb( msg_id) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.mark_read( peer) |
success_fail | None | Marks messages with peer as read |
sender.history( user, limit*, offset*) |
something | None | Prints messages with this peer (most recent message lower). Also marks messages as read |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.user_info( user) |
something | None | |
sender.load_user_photo( user) |
something | 120.0 | Downloads file to downloads dirs. Prints file name after download end |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.contact_add( phone, first_name, last_name) |
something | None | Tries to add user to contact list |
sender.contact_add_by_card( card) |
success_fail | None | Gets user by card and prints it name. You can then send messages to him as usual #todo: add args type |
sender.contact_rename( user, first_name, last_name) |
something | None | Renames contact #returns the new name |
sender.contact_delete( user) |
success_fail | None | Deletes contact from contact list |
sender.contacts_list() |
success_fail | None | Prints contact list |
sender.contacts_search( user_name, limit*) |
success_fail | None | Searches contacts by username |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.chat_info( chat) |
something | None | Prints info about chat (id, members, admin, etc.) |
sender.chat_set_photo( chat, file) |
success_fail | 120.0 | Sets chat photo. Photo will be cropped to square |
sender.chat_add_user( chat, user, msgs_to_forward*) |
something | 60.0 | Adds user to chat. Sends him last msgs-to-forward message from this chat. Default 100 |
sender.chat_del_user( chat, user) |
success_fail | None | Deletes user from chat |
sender.chat_rename( chat, new_name) |
success_fail | None | Renames chat |
sender.create_group_chat( name, user) |
success_fail | None | Creates group chat with users |
sender.import_chat_link( hash) |
success_fail | None | Joins to chat by link |
sender.export_chat_link( chat) |
success_fail | None | Prints chat link that can be used to join to chat |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.create_secret_chat( user) |
success_fail | None | Starts creation of secret chat |
sender.accept_secret_chat( secret_chat) |
success_fail | None | Accept a secret chat |
sender.set_ttl( secret_chat) |
success_fail | None | Sets secret chat ttl. Client itself ignores ttl |
sender.visualize_key( secret_chat) |
success_fail | None | Prints visualization of encryption key (first 16 bytes sha1 of it in fact) |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.set_profile_name( first_name, last_name) |
something | 60.0 | Sets profile name. |
sender.set_username( name) |
success_fail | None | Sets username. |
sender.set_profile_photo( file) |
something | 120.0 | Sets profile photo. Photo will be cropped to square |
sender.status_online() |
success_fail | None | Sets status as online |
sender.status_offline() |
success_fail | None | Sets status as offline |
sender.export_card() |
success_fail | None | Prints card that can be imported by another user with import_card method |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.quit() |
response_fails | None | Quits immediately |
sender.safe_quit() |
response_fails | None | Waits for all queries to end, then quits |
sender.main_session() |
success_fail | None | Sends updates to this connection (or terminal). Useful only with listening socket |
sender.dialog_list( limit* default: 100, offset* default: 100) |
List() | None | List of last conversations |
sender.set_password(hint* default: "empty") | success_fail | None | Sets password |
Telgram command (* means optional) |
Expected return parser | Timout (seconds) |
Description |
---|---|---|---|
sender.raw( command) |
raw | 120.0 | just send custom shit to the cli. Use, if there are no fitting functions, because I didn't update |
sender.cli_help() |
raw | None | Prints the help. (Needed for pytg itself!) |
They are at pytg.exceptions
This Exception means the CLI didn't send any response to that command in time.
Most commonly that happens with the status_online
command, but still only occasionally.
You may change the timeout of any command with supplying result_timeout=<seconds>
in the call.
try:
sender.status_online(result_timeout=5) # wait up to 5 seconds
except NoResponse: # from pytg.exceptions import NoResponse
print("CLI did not responded in time")