Notice!
PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities.
Create your free Platform account
to download ActivePython or customize Python with the packages you require and get automatic updates.
Download
ActivePython
corrections is unavailable in
PyPM, because there aren't any builds for it in the
package repositories. Click the linked icons to find out why.
| Python 2.7 | Python 3.2 | Python 3.3 |
---|
Windows (32-bit) | | | |
---|
Windows (64-bit) | | | |
---|
Mac OS X (10.5+) | | | |
---|
Linux (32-bit) | | | |
---|
Linux (64-bit) | | | |
---|
An extendable Python based Twitter bot which will reply to various keyworded tweets.
"Isn't this against the ToS?", I hear you ask. Well, sort of, but sort of not. Yes, it might be covered by the spamming or unsolicited mentions rules, but in my opinion, no more than some asshole going around correcting people manually, depending on your settings.
Example usage
Here's my favourite use of the Corrections bot (and why I actually wrote this): the a lot correction bot:
System Message: ERROR/3 (<string>, line 12)
Unknown directive type "code-block".
.. code-block:: python
# -*- coding: utf-8 -*-
from corrections import Correct
from random import choice
class Alot(Correct):
auth = (OAUTH_TOKEN,
OAUTH_SECRET,
CONSUMER_KEY,
CONSUMER_SECRET)
phrases = ["alot"]
cooldown = (60 * 5, 60 * 3)
def reply(self, phrase, user):
return choice([
"@{user}: a lot*",
"@{user}: Surely you mean 'a lot', right?",
"@{user}: I think you meant 'a lot'!",
"@{user}: Come on, use 'a lot', lazy..",
"@{user}: Alot is sad you can't use 'a lot' right..",
"@{user}: There should be a space in there somewhere.. 'a lot'*",
]).format(user=user)
if __name__ == "__main__":
correct = Alot()
correct()
Just for testing
Want to make sure your bot is functional but don't want to start spamming tweets yet?
Easy! Set dry = True in your Corrections class and Corrections won't actually update your status.
System Message: ERROR/3 (<string>, line 45)
Unknown directive type "code-block".
.. code-block:: python
class Alot(Correct):
auth = (OAUTH_TOKEN,
OAUTH_SECRET,
CONSUMER_KEY,
CONSUMER_SECRET)
phrases = [...]
cooldown = (...)
dry = True
def reply(...):
# ...