[UPD] [BROKE] New config to database is added, please, re-create it, it is broken!
[UPD] `Long time ago` contacts now is offline instead of XA
[ADD] Contacts last seen later than `status_xa_interval` (configurable via !configure) hours now have XA status
[SVN] all comments in code now in English; Sofia ♥ Fuck you with this barbarian language in code comments! (no, no fuck please)
[FIX] monkey-patched telethon library to fix updates receiving in some sessions (fix github issue #686; commit b20aa0ccc91b3d767c26702f3611c44772d87f5a)
[FIX] fixed "normal" quotation, such as `> text`, in previous releases it was intended to be message id to reply
[FIX] now processing bots in contact list, in roster with `b` prefix
[FIX] fixed message editing and deleting in supergroups
[FIX] now removing old telegram session from database when initiating a new one for current JID
[FIX] fixed group creating; group, supergroup, channels creating is now OK and tested
[FIX] fixed processing bot in roster; now it does not crashes gateway
[UPD] default status update interval is now 30
[UPD] slighly (and finally) changed behaviour of presences:
`Last seen recently` = `dnd (do not disturb)`, because user that enabled this privacy settings does not want you to disturb
`Last seen a long time ago` = `xa (extended away)`, because it is 'long' away
'Last seen at %date%` = `away`, because user just got away
[ADD] basic interaction with bots (now only with text commands)
[ADD] Add possibility to edit and delete last messages.
Syntax is sed-like: "!s/find/replace/"
Examples:
`!s/mistake/corrected` to correct misspelled word
`!s//sorry I meant something completely different` to correct the whole message
`!s//` to delete message and revoke it from peer
Any regular expressions that fits python re. library also supported
[UPD] [BREAK] config update; please, see example `media_external_formats`
[ADD] possibility to upload media (supported formats — in config) with external links; compliant with XEP-0363 HTTP Upload
[FIX] Fixed roster exchange request after transport boot-up
[ADD] Added optional profile pictures downloading to V-Cards; you need to add `enable_avatars`(bool) to database or just remove and re-create db file to enable it
[DEP] [BROKE] new dependency: pytz (pip3 install pytz)
[FIX] fixed media downloading with telethon 0.18
[FIX] now using server time zone in status messages instead of UTC
[UPD] now removing chats & supergroups completely after we leaving with !leave command
[ADD] added commands:
!remove — completely remove current user from contact list
!import phone firstname lastname — try to add contact with phone number (untested)
[FIX] fixed sending subscription request from groups that are removed or from what you've been left and also fixed double auth request
[UPD] now using telethon version == 0.18
[UPD] code optimized and reworked
[UPD] status updates are moved to separate thread to use timer
[UPD] slightly changed status handling (now Available has "Online" status message, "Last seen recently" now is away, not XA, "Last seen ..." is now XA, "Last seen long time ago" is now DND, chats are ffc)
[UPD] command "!del" removed and replaced with another, see above
[UPD] configuration options `xmpp_use_roster_exchange` and `xmpp_keep_online` was removed from configuration file
[UPD] [BREAK] database structure was changed; please, remove and re-create db.sqlite
[ADD] [BREAK] new options in config file: `logfile` (please, specify it!), and unneccessarry `tg_server_ip`, `tg_server_port`, `tg_server_dc`
[ADD] per-user configuration, parameters stored in database. configurable params:
- use_roster_exchange: use XEP-0144 for roster import (default: false) (recommended: true, if your client supports that XEP)
- keep_online: keep telegram session even if jabber goes offline (default: false) (recommended: true, if you wants to receive all events as offline messages when you will go online)
- status_update_interval: interval (sec.) in what we will update all contact statuses to prevent presence spamming, because telegram sending status updates every fucking second (default: 60)
To modify your personal config, please, send !configure to gateway
[ADD] added new commands to gateway:
!configure (for configuration update)
!add @contact (to find Telegram contact and try to start conversation; any format accepted (t.me link, @username or maybe phone, I don't know... )
!join t.me/joinchat/secret (to join Telegram conference via invite link, https://t.me/joinchat/xxxxx accepted)
!group name @contact (try to create normal group with @contact; you can add more later) [UNTESTED]
!supergroup name (try to create supergroup) [UNTESTED]
!channel name (try to create channel) [UNTESTED]
!name first last (change telegram name)
!username usernme (change telegram @username)
!about some about text (change about text)
[ADD] added new commands to dialogs with normal users:
!help
!block (blacklists user)
!unblock (unblacklists user)
[ADD] added new commands to group/channel dialogs:
!help
!leave (leave current group or supergroup)
!invite (invite @user to current group/supergroup)
!kick (kicks @user to/from group/supergroup)
... and also small fixes and improvements