Commit Graph

41 Commits

Author SHA1 Message Date
5f2e2e517d whitespace cleanup 2019-03-10 17:05:32 +01:00
cea496c808 cleanup 2019-02-27 18:52:12 +01:00
2896126306 Send XMPP error on unknown recipient 2019-02-27 13:00:41 +01:00
23b27c37c3 Rename MessageHandler to CommandHandler and put Error at top level 2019-02-27 12:58:05 +01:00
7d2ba56450 restructure 2019-02-27 03:12:55 +01:00
282ced3fe6 bugfixing 2019-02-27 02:27:32 +01:00
0c1b8e3e00 improvements 2019-02-27 02:24:00 +01:00
8ca6740cd1 code 2019-02-27 02:15:09 +01:00
a5fdac224f updated commands 2019-02-27 01:59:48 +01:00
53325bc8d3 bugfixing 2019-02-27 01:10:30 +01:00
9be64fd071 actually put the new file in git 2019-02-27 01:09:41 +01:00
734e30bc2e put handlers in separate file 2019-02-27 01:09:25 +01:00
2b659e895f test 2019-02-27 01:05:13 +01:00
95060e9cfb test 2019-02-27 00:58:18 +01:00
eb46c860d4 test 2019-02-27 00:57:03 +01:00
8bdad9d0f0 rewrite process_chat_user_command 2019-02-27 00:55:52 +01:00
4f07b24c6d bugfixing 2019-02-27 00:29:04 +01:00
9d2ff0caaa bugfixing 2019-02-27 00:20:01 +01:00
c6474c95f9 continue rewrite 2019-02-27 00:18:58 +01:00
004f670020 continue rewrite 2019-02-27 00:17:11 +01:00
7dd9ef67ad continued work on rewrite 2019-02-26 23:05:39 +01:00
9588e61aa6 begin message handling rewrite 2019-02-26 22:53:00 +01:00
eb66822e2d typo 2019-02-26 21:25:11 +01:00
f1e6db8716 cleanup 2019-02-26 21:23:53 +01:00
Yannik Enss
6788dd4abe add notice required by apachev2 license 2019-02-26 15:42:21 +01:00
Yannik Enss
4fa79b0010 list roster via chat and fix media 2019-02-26 14:02:02 +01:00
annelin
9ff433155e Fixed echo reply when getting XMPP messages with type = 'error' 2019-01-13 10:21:37 +02:00
annelin
5381c49daf [FIX] Fixed IQ sending with empty <from> that crashes new versions of ejabberd 2018-07-14 14:59:32 +00:00
annelin
0db8c90169 [SVN] Release 0.4.1
[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
2018-07-03 01:26:45 +00:00
annelin
2f2d534f09 [SVN] release 0.4.0
[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)
2018-07-03 00:41:15 +00:00
annelin
b17870cbdd [SVN] Release 0.3.5
[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
2018-07-02 16:26:08 +00:00
annelin
1d61392db2 [SVN] release 0.3.4
[FIX] corrext exception handling when uploading media; if exception caught— we will just send link as plaintext
2018-07-02 15:09:18 +00:00
annelin
03f3231aed [SVN] release 0.3.3
[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
2018-07-02 02:02:02 +00:00
annelin
f0ef3abb9c [SVN] Release 0.3.2
[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
2018-07-02 00:51:22 +00:00
annelin
e66bda9cd8 [SVN] updated to version 0.3.1
[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)
2018-07-01 21:29:34 +00:00
annelin
0f648e6bd4 [SVN] updated version to 0.3.0
[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
2018-07-01 09:42:35 +00:00
annelin
ea15b74348 [SVN] bump to version 0.2.2
[ADD] added commands !add to add/join telegram user/chat and !del to leave/delete it
[FIX] fixed behaviour that transport contacts shown offline if using more than 1 priority
2018-06-30 05:56:45 +00:00
annelin
15b2f5ea28 [FIX] other retrieving method for supergroup users nicknames 2018-06-29 11:31:55 +00:00
annelin
c16faf8e4e [SVN] bump to version 0.2.1
[UPD] roster exchange (XEP-0144) now is not mandatory since not all clients supports it; it is optional and configurable
2018-06-19 19:29:49 +00:00
annelin
55f85db5d1 [ADD] Full support of groups service messages 2018-06-19 07:24:33 +00:00
annelin
bca6860159 [SVN] initial commit after SVN rebirth;
[SVN] bump to version 2.0
[UPD] now transport working with telethon 0.15.5 and sleekxmpp 1.3.2
[FIX] fixed everlasting authorization requests. if you got deauth message — ignore it, FROM subscription is enough.
[ADD] implemented roster exchange via XEP-0144
[ADD] we will send authorization request when unknown contact sent us a message
[ADD] correct presence handling for transport and users
[ADD] fixed presence spam (by default, we updating presence once for 60 seconds -- look at `status_update_interval` in mtproto.py)
[ADD] we will automatically connect to all actual sessions after transport start
2018-06-19 05:09:38 +00:00