Commit graph

314 commits

Author SHA1 Message Date
mathieui
4e4ab569cf Fix #2447 (OTR & HTML) -- partial WONTFIX
- Guess-parse the OTR messages in search for xhtml upon arrival
- add a configurable option to decode it or not
- We have XHTML-IM for a reason, and therefore we will *not* implement a
  full html parser for clients that dump whatever formatting inside the
  OTR payload (looking at you, pidgin)
2014-04-30 01:55:23 +02:00
mathieui
2b63e76ef9 Update the alias plugin
- use the new PluginConfig.remove method to remove aliases
- do not do weird stuff when no args are provided
- do not flood when re-creating stored aliases
2014-04-22 20:21:00 +02:00
mathieui
93594b8453 Do not reload unaliased aliases
TODO: implement the remove_option method from configparser
2014-04-20 17:35:16 +02:00
mathieui
dc08adf605 Do not lock on the “composing” chat state with otr
might send too many stanzas when send_chat_states is false, but I don’t
care.
2014-04-17 20:39:01 +02:00
mathieui
a1b2055127 Fix #2500 (better “C’est toi le”)
Thanks, anonymous contributor
2014-04-10 19:34:26 +02:00
mathieui
ca0950db07 Remove unused imports
(thanks eijebong)
2014-04-04 00:24:16 +02:00
mathieui
3c688335af Fix #2453 (malformed stanzas with stupid plugins)
remove xhtml prior to performing stuff
2014-04-01 23:04:10 +02:00
mathieui
dbc21a6617 Also document manual plugin load
(why wasn’t that already here?)
2014-03-28 00:15:31 +01:00
mathieui
cf752c27b2 Add an IRC/biboumi plugin 2014-03-28 00:03:20 +01:00
mathieui
550aa6efa4 Remove useless "installation" parts from the plugin documentations 2014-03-27 23:45:47 +01:00
mathieui
e80ea90e58 Improve the alias plugin (save aliases, format strings, etc) 2014-03-27 23:10:07 +01:00
mathieui
7a736470df Add a mention about poezio_gpg_export in the doc 2014-03-07 22:53:41 +01:00
mathieui
bc6b9b1aaf Remove the translate plugin (API has been broken for a long time) 2014-02-24 23:43:46 +01:00
Emmanuel Gil Peyrot
a64dd02118 Remove the dependency on poezio from xhtml.py 2014-02-22 01:11:57 +01:00
mathieui
cd38563076 Update install instructions and fix a typo 2014-02-19 00:39:51 +01:00
Florent Le Coz
f1995d060b Add a fun spaces.py plugin 2014-02-12 23:30:19 +01:00
mathieui
199ac46d90 Fix #2208 (time_marker shows an useless timestamp) 2014-02-03 23:37:22 +01:00
Florent Le Coz
d52e82660d Don’t set our status to None on /unload gpg 2014-02-03 21:00:01 +01:00
mathieui
f6e5cd186f Log our own message with the otr plugin if configured 2014-02-03 09:34:19 +01:00
Mathieu Pasquet
8a44d31e85 Add a logging option to the OTR plugin
It is tab-specific and off by default.
2014-01-29 16:41:57 +01:00
mathieui
6461a77f29 Workaround for an otr lib bug (plaintext messages without warning)
See https://github.com/afflux/pure-python-otr/issues/47
2013-12-28 16:27:49 +01:00
Mathieu Pasquet
c2b673308f Add an “autocorrect” plugin with a sed-like syntax
TODO (eventually):
    - correct words when using “word*” or “*word” using levenshtein distance
    - allow regular expressions for replacement
2013-11-28 21:22:17 +01:00
Mathieu Pasquet
0ad9712d0c refactor the texts in core to be more readable and fix some typos 2013-11-26 18:37:06 +01:00
Florent Le Coz
4a091b3d2d Make the /link plugin accept a range
Like /link 1:10 to open the last 10 links

Fixes #2130
2013-10-21 02:25:34 +02:00
Mathieu Pasquet
91fe1f5c59 Fix #2356 (ping is blocking) 2013-10-06 18:03:24 +02:00
Florent Le Coz
2f6324571e Add the pointpoint plugin 2013-09-06 16:10:33 +02:00
mathieui
07ab1138a7 Fix /otr fpr and the remote user nick color 2013-08-18 22:32:26 +02:00
mathieui
e06eac8182 Mark OTR messages as private (as in carbons) 2013-08-11 23:32:44 +02:00
mathieui
54a2830091 Documentation update 2013-08-07 21:35:12 +02:00
mathieui
51c7b3258b Complete the documentation of the OTR plugin
(and fix a possible traceback)
2013-08-07 20:55:21 +02:00
mathieui
3cc86e7145 Add the missing regex admin documentation 2013-08-07 21:10:03 +02:00
mathieui
65a73edc62 Fix the same issue with the OTR plugin 2013-08-06 22:30:03 +02:00
mathieui
703cd1b958 Don’t send the xhtml body with a gpg-encrypted message
(bug introduced after a change in the attribute name)
2013-08-06 19:09:13 +02:00
mathieui
e8a3f6f07c Add trust management to the OTR plugin (/otr trust|untrust) 2013-08-05 19:45:35 +02:00
mathieui
90161f81ac Add a new "drop" option to the OTR plugin (to drop the privkey) 2013-08-05 00:08:11 +02:00
mathieui
7373074e39 Notify properly in the OTR plugin when a message is received 2013-08-04 23:45:12 +02:00
mathieui
bd81ef5cf3 Add a helpful help for /otr 2013-08-04 15:36:29 +02:00
mathieui
a8762b4746 Rewrite the OTR plugin to use pure-python-otr 2013-08-04 15:30:03 +02:00
mathieui
c2f6ece39d Fix #2300 (use re.sub in the replace plugin) 2013-08-02 23:59:49 +02:00
Florent Le Coz
18642ceb71 IT’S CAPS LOCK DAY 2013-06-28 11:31:25 +02:00
Florent Le Coz
3015b3b9e5 Add the stoi plugin 2013-06-18 20:30:36 +02:00
Florent Le Coz
b5362ff754 Add a mirror plugin 2013-06-18 20:23:49 +02:00
mathieui
356d8a2184 Fix a tb with the tell plugin on wrong input
it didn’t make anything crash, but still.
2013-06-16 14:47:14 +02:00
Florent Le Coz
31e55a451c Fix the link of daemon.py in the doc 2013-06-09 20:18:22 +02:00
mathieui
248a9ea822 Update caps after loading the ping plugin 2013-06-01 17:00:56 +02:00
mathieui
2b42c6a3ea Update setup.py to use distutils
(use new default directory, install the plugins as a separate
python module…)
2013-05-26 20:13:39 +02:00
mathieui
ab5a5f3aae Add the documentation for the /tell plugin 2013-05-20 23:14:37 +02:00
Florent Le Coz
708053991a Make the random_nick plugin work on "/nick RANDOM" as well 2013-05-09 13:18:44 +02:00
mathieui
be6f5ba512 Add a regex-admin plugin 2013-05-09 02:17:17 +02:00
Florent Le Coz
2ad793d367 The name is poezio, not Poezio 2013-05-06 21:48:18 +02:00
Florent Le Coz
64280ff30c Add a nice marketing plugin 2013-05-06 21:43:17 +02:00
Florent Le Coz
5038367b92 Add a new replace_word plugin. 2013-05-01 18:59:09 +02:00
Florent Le Coz
48aa8d0bda Actually have a random nick ONLY when our nick is RANDOM 2013-05-01 18:52:29 +02:00
Florent Le Coz
5ff6e2a8c6 Add a new random_nick plugin 2013-05-01 18:45:32 +02:00
Florent Le Coz
9d6acb0d7e Use ISO 8601 date format in the day_change plugin 2013-04-24 00:15:41 +02:00
mathieui
d676c2ee7b Move the plugins documentation
(use automodule directive & docstrings)
2013-04-13 22:33:06 +02:00
mathieui
e6cb43eeed Start the plugin documentation
(with admin.py)
2013-04-12 23:34:11 +02:00
mathieui
1797043464 Remove the thread from the mpd_client
(it should be in an external tool, not _inside_ poezio)
2013-03-31 18:30:18 +02:00
Florent Le Coz
86d4874718 Revstr works in all conversation tabs now. 2013-03-18 23:08:42 +01:00
mathieui
c1ae17c3d2 Add a timeout in the select() in mpd_client 2013-03-17 18:42:33 +01:00
mathieui
e4f72d05c3 Send the tune only if ther is a change from the previous state 2013-03-11 11:31:28 +01:00
mathieui
f11c15c0ce Stop broadcasting a tune if we are not playing (#1840) 2013-03-11 02:23:31 +01:00
mathieui
4deee7cb0b Implement user-tune publishing in the mpd plugin (#1840) 2013-03-11 02:09:04 +01:00
mathieui
f0fb3d5d7a missing space in the status plugin 2013-03-10 22:59:21 +01:00
mathieui
9885203c67 Update the plugins to use the PluginAPI
Also:
- Add get_conversation_messages() to PluginAPI
- Make plugins_autoload colon-separated instead of space-separated
    (for consistency)
- Replace a JID() with a safeJID() in the uptime plugin
2013-03-08 22:53:35 +01:00
mathieui
dbde08a526 Document with sphinx timed_events, common, and add methods to PluginAPI
- add methods related to timed events to the PluginAPI
- remove parse_command_args_to_alias because str.format does that, and
  better
→ update the alias plugin
2013-03-08 19:39:34 +01:00
mathieui
f84e3d1928 Fix a bug in the status plugin
(if python had real closures, I would not need that)
2013-03-03 01:33:06 +01:00
mathieui
e1956533a6 Fix #2231 (update the plugins to use the new help system)
And fix some imprecisions/mistakes in the help.
2013-03-01 19:25:31 +01:00
mathieui
43c93a0a1b Do not ping twice in private tabs 2013-03-01 12:25:21 +01:00
mathieui
9b92cb7fb6 Improve the ping plugin
fix a TB in the MUC
fix the completion (no quotes)
add a timeout of 5 seconds
2013-03-01 02:05:18 +01:00
mathieui
aab20c1e29 Fix a traceback with the Ping plugin 2013-02-01 17:15:24 +01:00
mathieui
b04d5c5f53 Update the gnupg wrapper - Fix #2162 2013-01-05 18:12:55 +01:00
Emmanuel Gil Peyrot
1313e7be38 Add a /display_corrections plugin. 2012-12-29 13:14:50 +01:00
Florent Le Coz
b0e9e0919f super useful plugin that does a revstr on your messages. 2012-12-18 02:08:38 +01:00
Florent Le Coz
ca7489fd8f super useful plugin that shuffles the message you send. 2012-12-18 02:03:24 +01:00
mathieui
be8ea85a9f super-useful plugin that duplicates the first word of a message 2012-12-18 01:54:20 +01:00
Florent Le Coz
29f3d9a0bc Add a nice time_marker plugin. 2012-12-17 04:56:46 +01:00
mathieui
2ce849968f fix a traceback on /unload iq_show
(also, per-tab option load_logs)
2012-12-16 14:58:44 +01:00
Florent Le Coz
be64b18b2f Display an error and don’t send the message if gpg failed to encrypt a message. 2012-11-05 15:03:20 +00:00
Florent Le Coz
a536c1dc4f Make the Executor class reliable.
Plugins do not need to escape the command arguments or remove the line
breaks and care about how the will get parsed anymore, they just need to
pass a list of args.

Do not spawn an additional shell, for more clarity, simplicity and possibly
security.
2012-10-22 17:14:21 +02:00
Florent Le Coz
906c74f0be Use pipes.quote instead of a string.replace in the link plugin. 2012-07-30 23:56:48 +02:00
Florent Le Coz
5745a3e8f0 typo or something like that… 2012-07-07 04:56:38 +02:00
Florent Le Coz
8739662e31 Add a replace plugin. 2012-07-07 04:52:20 +02:00
mathieui
ab14923611 Prevent tracebacks in the mpd_client plugin
Do not traceback when:
    - The song has no album
    - the song has no title
    - the song has no artist
    - the playlist is empty
    - mpd is not playing
2012-07-07 04:39:01 +02:00
Florent Le Coz
d47c31a587 Properly quote the %(body)s and %(from)s used in the simple_notify plugin. 2012-07-05 00:50:47 +02:00
mathieui
975e0d96b2 Make /status comply with the command args rule
- if there are more args than handled, no message will be set
- fix the 'status' plugin accordingly
2012-07-03 03:55:57 +02:00
Florent Le Coz
4bc215806b Improve the simple_notify plugin and the daemon to execute a command to clean the notification and to execute the remote commands through sh -c, letting us use pipes and redirections. Also adds the highlight event for plugin, and make the simple_notify plugin use it as well. 2012-07-03 01:59:25 +02:00
mathieui
915dc7fa9d Fix the OTR plugin completion 2012-05-29 12:37:50 +02:00
mathieui
dc8b39709f Make the alias plugin behave like documented. 2012-05-19 21:56:13 +02:00
mathieui
5bdbca688c Use add_tab_command in the OTR plugin 2012-05-13 18:46:07 +02:00
mathieui
d949a379a3 Use add_tab_command in the link plugin 2012-05-13 18:45:40 +02:00
mathieui
ef8a7a647f Use add_tab_command in the quote plugin 2012-05-13 18:39:57 +02:00
mathieui
fc3a791188 Do not let figlet interpret - as args 2012-05-10 10:47:45 +02:00
mathieui
e1a817607b Make translate.py more customizable, and hide it for now 2012-05-09 19:19:17 +02:00
mathieui
39a61486de Fix the /remind help 2012-05-06 22:09:16 +02:00
mathieui
b37b7ec8e6 Fix the ping plugin 2012-05-06 21:10:13 +02:00
mathieui
c8728b31d5 Add /mute to the admin plugin 2012-05-05 19:45:45 +02:00
mathieui
55edb64438 Remove useless stuff from the simple_notify plugin 2012-05-05 18:26:54 +02:00
mathieui
794da2a6f2 Use add_tab_command in the mpd client plugin 2012-05-05 15:45:26 +02:00
mathieui
6ff2f2acc6 Add an "Admin" plug-in that add several shortcuts for room administration 2012-05-05 02:08:35 +02:00
mathieui
57e586531d Add a /tell plugin 2012-03-31 01:24:37 +02:00
mathieui
12e6de0cdc Fixes #2348 2012-03-30 02:43:43 +02:00
mathieui
1133baa5f0 Add the OTR plugin 2012-03-25 23:40:22 +02:00
mathieui
786066da18 Replace /load with /load_db in AI plugin… 2012-03-09 14:42:22 +01:00
mathieui
fb9d11cc79 Add a recreational « AI » plugin 2012-03-09 00:25:46 +01:00
mathieui
45e22f01b5 Fixes #2335 2012-02-24 02:14:54 +01:00
mathieui
b489b68e20 Fixes #2326 2012-02-14 02:43:00 +01:00
mathieui
42c8deb9e1 Remove some debugging prints 2012-02-09 11:08:14 +01:00
mathieui
e47c8d3c19 Add a /amsg plugin 2012-02-07 01:12:21 +01:00
mathieui
2dc7af10fb Do not traceback when /gpg outside a ConversationTab 2012-01-29 03:34:01 +01:00
mathieui
88f7e690bd Fix the alias plugin 2012-01-26 10:05:36 +01:00
Florent Le Coz
d32d92c269 And add the missing files. 2012-01-26 10:05:35 +01:00
Florent Le Coz
56b7d3ebd6 /quote can now be used by specifiying only the seconds, then completing. 2011-11-23 19:53:02 +01:00
Florent Le Coz
e23d905daa Remove TODO since this is done. 2011-11-23 19:50:20 +01:00
Florent Le Coz
7e48a16c4b First argument of /quote can complete a nickname, to filter time results. 2011-11-23 19:49:19 +01:00
Florent Le Coz
c8e260052a Add a quote plugin. 2011-11-23 09:09:48 +01:00
mathieui
158692fa99 Use the new args parser in the alias plugin 2011-11-18 23:35:28 +01:00
mathieui
cae620e3ef Fix plugin status 2011-11-16 13:26:07 +01:00
mathieui
241369c330 Use the new functions in reminder.py 2011-11-15 21:42:10 +01:00
mathieui
403406b60a Add a send_delayed plugins to send messages in some time 2011-11-15 21:35:39 +01:00
mathieui
b82b99f266 Add an iq_show plugin
Fixes #2075
2011-11-15 01:27:42 +01:00
mathieui
ef6425b4e9 Add a /ping command through a ping plugin
Fixes #1734
2011-11-15 01:15:08 +01:00
mathieui
cfa5520cfe Make it possible to use 'm', 'h', and 'd' in the time for the
reminder plugin.
2011-11-14 20:57:54 +01:00
mathieui
07d7189ab6 Useful improvements for the reminder plugin 2011-11-14 20:46:19 +01:00
Florent Le Coz
920c43dae2 Fix mpd plugin (the colors) 2011-11-14 00:54:50 +01:00
mathieui
d0beb6ac86 Add a "reminder" plugin. 2011-11-13 21:55:45 +01:00
Florent Le Coz
c4f7d9b98a Add a setkey command for the /gpg command. 2011-11-13 18:34:52 +01:00
Florent Le Coz
fed6952140 /gpg command lets you disable or force encryption. 2011-11-13 18:16:38 +01:00
mathieui
572cc678a0 Example for add_tab_command in the test plugin 2011-11-13 00:26:14 +01:00
Florent Le Coz
cc4f6c8b4c Try to verify signatures with different hashes, and use always_trust. 2011-11-12 22:24:05 +01:00
Florent Le Coz
01e945a907 Add a gpg command, doesn’t work yet. 2011-11-12 05:59:46 +01:00
Florent Le Coz
9e8706a2e8 a plugin can now add informations in ConversationTab’s InfoWin. And the GPG plugin does that. 2011-11-12 05:48:29 +01:00
Florent Le Coz
a97e6b548b GPG now only send the encrypted data, not the full headers things. And it adds the headers to the encrypted data received, to decrypt it. 2011-11-12 05:19:06 +01:00
Florent Le Coz
c2dfee141c GPG: encrypt and decrypt messages when possible. 2011-11-12 03:44:12 +01:00
Florent Le Coz
6b9d166e1c Gpg module: send signed presences, and verify the signature in received presences. 2011-11-12 02:48:13 +01:00
Florent Le Coz
971aaada27 Fix an issue with python3.2 (byte vs string) in gnupg module. 2011-11-11 23:49:21 +01:00
Florent Le Coz
2e322cf221 Create an empty gpg plugin, including a gnupg wrapper. 2011-11-11 23:44:26 +01:00
Florent Le Coz
eaf67dc569 Exec plugin now executes the command in sh -c, allowing us to do some shell tricks etc (pipes, for example). 2011-11-10 05:19:34 +01:00
mathieui
276b2a0cbe Fix the test plugin 2011-11-09 14:54:20 +01:00
mathieui
aee7baab24 Same as previous commit, but with _say 2011-11-09 14:29:13 +01:00
mathieui
98b9506983 Remove poezio_event_handler to keep only event_handler 2011-11-09 14:02:17 +01:00
mathieui
950a06e6d7 Added the super-useful and popular pacokick 2011-11-09 03:08:53 +01:00
Florent Le Coz
03999f1ef0 Make the rainbow plugin clean existing colors before adding the new colors. 2011-11-08 02:21:20 +01:00
mathieui
33997e4356 Should fix day_change plugin 2011-11-08 00:14:44 +01:00
mathieui
934006e2e9 Activate figlet plugin in private and conversation tabs 2011-11-07 23:37:16 +01:00
mathieui
d8865bcd45 Typo 2011-11-07 23:32:21 +01:00
Florent Le Coz
305e5ed40d Add a funny rainbow plugin, mainly to test some plugin hooks. 2011-11-07 19:59:12 +01:00
mathieui
b7027e5347 Super-useful figlet plugin 2011-11-06 23:46:35 +01:00
Florent Le Coz
840acd3bd4 Actually use the port option for the port… 2011-11-06 21:36:43 +01:00
Florent Le Coz
46ccf6a966 do not catch errors, actually, since there’s a bug in the mpd lib with python3 that makes it impossible to catch. 2011-11-06 20:41:42 +01:00
Florent Le Coz
9cdfe38bcc typo 2011-11-06 20:31:19 +01:00
Florent Le Coz
d62a3a1b1b mpd plugins now accepts a password and catches some errors. 2011-11-06 20:29:46 +01:00
Florent Le Coz
2a9484a680 add a mpd plugin 2011-11-06 20:25:30 +01:00
mathieui
ece4949086 Add a plugin for /status aliases 2011-10-29 17:47:30 +02:00
Florent Le Coz
21f0c8f3f3 Fix the url matching in the link plugin 2011-10-29 17:20:18 +02:00
Florent Le Coz
d608ccbd6d Remove the information() call in the link plugin 2011-10-29 16:55:46 +02:00
Florent Le Coz
b98880b526 add the link plugin 2011-10-29 07:18:19 +02:00
mathieui
5050d775d9 Alias plugin. Fixes #1523 2011-10-02 13:22:13 +02:00
mathieui
ed87f26db7 Added a connect() function to the plugins API, for internal event 2011-10-01 23:48:42 +02:00
Todd Eisenberger
28ef9d6003 Update translate for the new MUC room 2011-10-01 13:00:41 -07:00
Todd Eisenberger
5dea3dcf80 Add day_change plugin, make translate update right away 2011-09-27 10:15:15 -07:00
Florent Le Coz
55d624c0ee exec plugin 2011-09-25 21:16:31 +02:00
Florent Le Coz
f275567478 [teisenbe] Use the imp module to import modules.
Also add a simple translator module
2011-09-24 22:26:31 +02:00
Florent Le Coz
e3b933445f [teisenbe] first attempt at a plugin system. 2011-09-23 17:43:01 +02:00