1
2009-07-04  Krister Svanlund  <krister.svanlund@gmail.com>
2
3
	* kofoo_mediawiki.py (do_wiki): Added indicator on search for displayed vs. number
4
	of results.
5
	(do_wiki): Added "in text" switch for search command to search in text instead of
6
	title.
7
8
	* kofoo_set.py: Removed 'set quit' from help description since the command has
9
	been removed.
10
11
	* kofoo_help.py (do_help): Added 'level=' argument for help command to show help
12
	for levels below the users.
13
	(do_help_for): Changed output format to be prettier.
14
	(do_help_for): Added the 'help commands' command for only listing availible commands.
15
	(do_general_help): Changed output to fit indention to longest command+arguments
16
	string. 
17
18
2009-07-03  Krister Svanlund  <krister.svanlund@gmail.com>
19
20
	* kofoo_mediawiki.py (mw_get_url): Added function for getting the URL to a
21
	specific wiki-article.
22
	(do_wiki): Added search functionality for getting links to articles.
23
	Completed help information for the module.
24
25
2009-07-02  Krister Svanlund  <krister.svanlund@gmail.com>
26
27
	* kofoo_mediawiki.py (do_wiki_get_list): Added command for retrieving lists to IRC.
28
	(do_wiki_get_section): Added command for retrieving sections to IRC.
29
	(mw_add_to_page): Rewrote mw_add_to_page because earlier version did not add text
30
	correctly.
31
	(do_wiki): Implemented proper commands for adding things to lists and sections.
32
33
	* kofoo.py (KoFoo.handle_command): Fixed bug causing crash on empty string passed
34
	to handle_command.
35
36
	* kofoo_mediawiki.py (mw_get_table): Rewrote mw_get_table to use smarter parsing
37
	algorithm and return a dictionary instead of a list.
38
	(do_wiki_get_table): Added command for retrieving tables to IRC.
39
40
2009-07-01  Krister Svanlund  <krister.svanlund@gmail.com>
41
42
	* kofoo_mediawiki.py (mw_get_section): Created function for getting an entire
43
	section from a page.
44
	(mw_add_to_list): Rewrote mw_add_to_list to use mw_get_section instead.
45
	(mw_get_list): Rewrote mw_get_list to use mw_get_section instead.
46
47
	* kofoo.py: Added BSD-license to entire project with some files not licensed.
48
49
2009-06-30  Krister Svanlund  <krister.svanlund@gmail.com>
50
51
	* kofoo_mediawiki.py (mw_add_to_table): Created function for adding rows to table.
52
	(mw_add_to_list): Created function for adding rows to list.
53
	(mw_add_section): Created function for adding sections to pages.
54
	(mw_get_section_level): Created function for getting the level of a specific
55
	header.
56
	(mw_get_list): Created function for getting a list from a page.
57
58
2009-06-27  Krister Svanlund  <krister.svanlund@gmail.com>
59
60
	* kofoo_mediawiki.py: Created a mediawiki module using the mwclient.
61
	(add_to_page): Created a helper function for adding text in an arbitrary section
62
	on a arbitrary page.
63
64
2009-06-26  Krister Svanlund  <krister.svanlund@gmail.com>
65
66
	* kofoo.py (KoFoo.load_module): Added traceback on failing to load module.
67
68
	* kofoo_twitter.py (do_twitter_clear): Implemented a clear queue command.
69
	(do_twitter_get): Implemented a get queue size command.
70
71
	* kofoo_webhelpers.py (do_modurl): Moved modurl command to webhelpers module
72
	instead of twitter.
73
74
2009-06-25  Krister Svanlund  <krister.svanlund@gmail.com>
75
76
	* kofoo_rss.py (do_rss): Added commandos to rss module for adding, deleting and
77
	clearing streams. Also fixed handeling of entries to handle content tag of atom
78
	streams.
79
80
2009-06-24  Krister Svanlund  <krister.svanlund@gmail.com>
81
82
	* kofoo.py (KoFoo.unload_module): Added unloading of helpers.
83
	(KoFoo.load_module): Added loading of helpers from modules and the capabilities
84
	for modules to require other modules.
85
	(KoFooGlobals): Updated module interface to 3.
86
87
2009-06-23  Krister Svanlund  <krister.svanlund@gmail.com>
88
89
	* kofoo_status.py (status_ctcp_handler): Fixed sending weird error messages on
90
	/me.
91
92
	* kofoo_rss.py: Created a RSS module for parsing RSS/Atom-feeds.
93
94
	* kofoo_twitter.py: Separated some functions to webhelpers module.
95
96
	* kofoo.py (KoFoo.do_quit): Unload modules on quit.
97
	(KoFoo.update): Added try/except for update functions.
98
99
	* kofoo_megahal.py: Created a megahal module.
100
101
2009-06-22  Krister Svanlund  <krister.svanlund@gmail.com>
102
103
	* kofoo_tell.py: Changed tell module to use new syntax format.
104
105
	* kofoo_services.py (do_register): Added registration of channels and nicks to
106
	services module.
107
	(handle_chanserv_notice): Added handleing of more chanserv notices.
108
109
	* kofoo_twitter.py: Added modurl command with compress and expand arguments for
110
	changing length of urls.
111
	(shorten_url): Implemented a url cache for compressing or expanding url's to save
112
	bandwidth.
113
114
	* kofoo_services.py (init_services): Now it should properly identify with nickserv
115
	and chanserv on loading the module.
116
117
	* kofoo.py (KoFoo.do_reconnect): Implemented reconnect command.
118
	(KoFooGlobals): Added reconnect as a command.
119
	Changed some debug output formats.
120
	Changed the format for calling load_module and unload_module to always include
121
	server. This also changes modules init functions.
122
123
	* kofoo_status.py (status_ctcp_handler): Added support for ctcp finger and clientinfo.
124
125
2009-06-21  Krister Svanlund  <krister.svanlund@gmail.com>
126
127
	* kofoo.py (KoFoo.handle_command): Added support for unconfirmed commands. Works
128
	by having a global bot_id_req_level and all commands with a level above that
129
	requires nicserv id.
130
131
2009-06-17  Krister Svanlund  <krister.svanlund@gmail.com>
132
133
	*** Changed name on project from TwIRC to KoFooBot ***
134
135
	* twirc_set.py (do_configure): Added function for changing configuration in the
136
	set module.
137
	(do_configure): Added functionality to 'set', 'add', 'del' values from different
138
	settings. 'Set' also works for non-existing values.
139
140
2009-06-16  Krister Svanlund  <krister.svanlund@gmail.com>
141
142
	* twirc.py (TwIrcGlobals): Added version to globals.
143
144
	* twirc_status.py (status_ctcp_handler): Added support for ctcp handeling to the
145
	status module.
146
147
	* twirc.py (TwIrc.unload_module): Fixed bug with unloading functions.
148
	(TwIrc.on_action): Add callback for /me actions. This changes the module interface
149
	for public and private message handlers adding a extra flag to see if a message is
150
	an action or not.
151
152
	* twirc_twitter.py (handle_posts): Added automatic expansion of shortened url's if
153
	the long version of the url is shorter than 70 chars.
154
	(expand_url): Function for expanding urls using http://www.longurl.org.
155
156
	* twirc.py (TwIrc.on_part): Added support for joining and parting from channels,
157
	both module callbacks and native commands.
158
	(TwIrc.on_pubnotice): Added support for public notice.
159
	(TwIrc.on_pubmsg): Fixed so that directed messages i channel is handled correctly.
160
	(TwIrc.on_privnotice): Moved most of the nickserv/chanserv things to the new
161
	services module.
162
163
	* twirc_help.py (do_help_for): Added functionality for listing loaded and unloaded modules.
164
165
2009-06-14  Krister Svanlund  <krister.svanlund@gmail.com>
166
167
	* twirc.py (TwIrc.handle_privmsg): Added module callbacks for private msg and
168
	public/private notice.
169
170
	* twirc_tell.py (do_tell): Try to encode messages to utf-8 before sending to channel.
171
172
	* twirc_help.py (do_general_help): Added check for only showing level of command
173
	if it's not 0.
174
175
	* twirc_twitter.py (update_twitter): Store a buffer of the last published status
176
	updates in a string for later displaying with 'twitter get last <nr>' command.
177
	(do_twitter_get): Implemented 'twitter get last <nr>' command.
178
179
2009-06-13  Krister Svanlund  <krister.svanlund@gmail.com>
180
181
	* twirc.py (TwIrc.on_pubmsg): Added support for configurable public prefix and for
182
	public commands to be issued by typing a reply to the bot.
183
	Commented and fixed small stuff in twirc.py and twirc_twitter.py.
184
	* twirc.py (TwIrc.unload_module): Added a unload_module attribute to modules. If
185
	this function return False the unloading aborts.
186
187
	* twirc_twitter.py (do_twitter_unsubscribe): Implemented (un)subscribe
188
	functionality for friends, also listing of friends.
189
	(do_twitter_update): Changed so that successfull tweets are reflected as notice
190
	instead of msg.
191
	(handle_posts): Created a separate function for handeling posts
192
	to avoid code duplication.
193
	Added help description to the twitter command.
194
195
2009-06-10  Krister Svanlund  <krister.svanlund@gmail.com>
196
197
	* twirc_twitter.py (update_twitter): Limit to only post 6 messages at once and
198
	place rest in queue for next update.
199
200
	* twirc.py (TwIrc.unload_module): Added loading and unloading of public message
201
	handlers for modules.
202
	(TwIrc.tell_users): Make sure that non-required settings are handled correctly if
203
	set to 'None'.
204
	(TwIrc.join_channels): Changed channel joining to support not registered channels
205
	or channels not owned by bot owner.
206
207
	* twirc_twitter.py (get_replies): Corrected a potential bug dealing with post ID's.
208
209
	* twirc_help.py (do_help_for): Added help command for showing aliases.
210
211
	* twirc.py (TwIrc.handle_command): Added aliases for commands.
212
	(usage): Added parsing of command arguments for loading of specified config file.
213
	(TwIrc.load_module): Did some small changes in the module specifications.
214
	(TwIrc.unload_module): Proper loading and unloading of aliases from modules.
215
216
2009-06-05  Krister Svanlund  <krister.svanlund@gmail.com>
217
218
	* twirc.py (TwIrc.do_save): Added save command for saving settings during
219
	runtime.
220
221
	* twirc_twitter.py (rewrite_url): Rewrite html links for when posting in irc.
222
223
2009-06-04  Krister Svanlund  <krister.svanlund@gmail.com>
224
225
	* twirc.py (TwIrcSettings.load_settings): Rewrote settings loading function.
226
	(TwIrc.load_module): Rewrote load_module function to properly check for correct
227
	initiation of modules and unset settings.
228
	(TwIrc.unload_module): Added unload capabilities.
229
	(TwIrc.do_unload): Adde command: "unload"
230
231
	* twirc_twitter.py (do_twitter_update): Added check and errormessage for too long messages.
232
233
2009-06-03  Krister Svanlund  <krister.svanlund@gmail.com>
234
235
	* twirc.py (TwIrc.handle_command): Once again, more bugfixing attempts with the
236
	character encoding.
237
238
	* twirc_twitter.py (get_friend_timeline): Added functions to check timelines,
239
	replies and directed messages.
240
	(update_twitter): Fixed encoding on recieved strings. Recode them to utf-8.
241
	(do_twitter_update): No notice to channel on posted messages. They arrive in
242
	friends timeline anyway.
243
	(convert_to_twitter_string): Tried to iron out some bugs when converting to and
244
	from different encodings.
245
246
2009-06-02  Krister Svanlund  <krister.svanlund@gmail.com>
247
248
	* twirc.py (TwIrc.update): Added a functionality to call a function from a module repeatedly.
249
250
2009-05-31  Krister Svanlund  <krister.svanlund@gmail.com>
251
252
	* twirc_set.py (do_set): Added functionality to set so that you can set arbitrary variables.
253
254
	* twirc.py (TwIrcSettings.load_settings): Added load and save capabilities to TwIrcSettings
255
	(TwIrc.load_module): Added exception for trying to load modules that doesn't exist.
256
257
	* twirc_tell.py (do_tell): Moved implementation of the 'tell' command to separate module.
258
259
	* twirc_status.py (do_status): Moved implementation of the 'status' command to separate module.
260
261
	* twirc_help.py (do_help): Moved implementation of the 'help' command to separate module.
262
263
	* twirc_twitter.py (do_tweet): Began implementation of the 'tweet' command.
264
265
	* twirc_set.py (do_set): Moved implementation of the 'set' command to separate module.
266
267
	* twirc.py (TwIrc.do_tell): Wrote implementation and description for do_tell.
268
	(TwIrcSettings): Created a class for settings, so far just for keeping them.
269
	(TwIrc.load_module): Added dynamic loading of modules and moved all commands
270
	except 'quit' and 'load' to separate modules.
271
	(TwIrc.do_load): Implemented and added description for the load command.