Skip to content

Commit efaf3bf

Browse files
committed
Little refactoring and. Ignorecase on "karma" args.
1 parent 068a6ee commit efaf3bf

File tree

9 files changed

+32
-16
lines changed

9 files changed

+32
-16
lines changed

README.md

+25-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,32 @@
11
pyircbot
22
========
33

4-
A simple python-twisted IRC bot with greetings and karma functionalities. Presently pyircbot has **NOT** chat logging features.
4+
A simple python-twisted IRC. Presently pyircbot has **NOT** chat logging features.
55

6-
### Usage
6+
# Usage
77

8-
`$ python pyircbot.py --help`
8+
```
9+
Usage: pyircbot.py [options]
10+
* Basic configuration file 'bot.conf' could be used instead
11+
** Information will be stored in a directory called<CHANNEL>-data
912
10-
### TODO
13+
Options:
14+
-h, --help show this help message and exit
15+
-s SERVER_ADDRESS, --server=SERVER_ADDRESS
16+
IRC server address, default irc.freenode.net
17+
-p PORT, --port=PORT Server port, default 6667
18+
-c CHANNEL, --channel=CHANNEL
19+
Channel name, default zencoders
20+
-n NICK, --nick=NICK Bot nickname zenbot
21+
-g GREETING_PROBABILITY, --greeting=GREETING_PROBABILITY
22+
Greeting probability [1 - 100]
23+
-v, --verbose Print a lot of stuff...
24+
```
1125

12-
* Anti-Flooding
13-
* Last tweets
14-
* Last news
15-
* Random BOT responses
26+
## Plugins
27+
28+
* karma
29+
* reddit
30+
* greetings
31+
* diceroller
32+
* random number

bot_core/irc_bot.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
from message_logger import MessageLogger
99
from karma.karma_manager import KarmaManager
1010
from karma.karma_rate import KarmaRateLimiter
11-
from functions.welcome_machine import WelcomeMachine
12-
from functions.dice_roller import DiceRoller
13-
from functions.reddit import RedditManager
11+
from plugins.welcome_machine import WelcomeMachine
12+
from plugins.dice_roller import DiceRoller
13+
from plugins.reddit import RedditManager
1414

1515
class IRCBot(irc.IRCClient):
1616
"""Python Twisted IRC BOT. irc.IRCClient specialization."""
@@ -88,7 +88,7 @@ def privmsg(self, user, channel, msg):
8888
elif nickname_pattern.match(msg):
8989
deferred_reddit = threads.deferToThread(self.reddit.retrieve_hot, rand=True, nick=user)
9090
deferred_reddit.addCallback(self.threadSafeMsg)
91-
elif re.match(re.compile('\w+\+\+$|\w+--$'), msg):
91+
elif re.match(re.compile('\w+\+\+$|\w+--$', re.I), msg):
9292
self.karma_update(user, channel, msg)
9393
elif hello_pattern.match(msg):
9494
polite_msg = self.welcome_machine.ciao(user)
@@ -118,7 +118,7 @@ def evaluate_command(self, user, channel, msg):
118118
if len(msg_splits) == 1:
119119
fetch_user = user
120120
elif len(msg_splits) == 2:
121-
fetch_user = msg_splits[1]
121+
fetch_user = msg_splits[1].lower()
122122
else: # !karma first two etc
123123
return
124124
# Deferred call

config.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
from ConfigParser import SafeConfigParser
3-
from utility.singleton import Singleton
3+
from interfaces.singleton import Singleton
44

55
class ConfigManager(object):
66
""" Configuration Manager Singleton class."""
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

functions/reddit.py renamed to plugins/reddit.py

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ def retrieve_hot(self, subject="programming", num_entries=3, rand=False, nick=No
3939
except requests.exceptions.HTTPError, e:
4040
sys.stderr.write("HTTPError: %s\n" % e)
4141
retrieved_list.append("[REDDIT] %s is not a valid subject" % subject)
42-
return retrieved_list
4342
finally:
4443
if len(retrieved_list) == 0:
4544
retrieved_list.append("[Reddit] Nothing found for \"%s\" :(" % subject)

functions/welcome_machine.py renamed to plugins/welcome_machine.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from utility.singleton import Singleton
1+
from interfaces.singleton import Singleton
22
import random
33

44
class WelcomeMachine:

0 commit comments

Comments
 (0)