GithubHelp home page GithubHelp logo

lepinkainen / pyfibot Goto Github PK

View Code? Open in Web Editor NEW
51.0 7.0 31.0 7.48 MB

Pyfibot the Python IRC bot

License: BSD 3-Clause "New" or "Revised" License

Python 99.31% Shell 0.28% Dockerfile 0.19% Makefile 0.23%
python-irc-bot python-2 irc-bot twisted

pyfibot's Introduction

Python application Updates Mergify Status

pyfibot

A Python IRC-bot made using the Twisted Matrix IRC-library.

Supports online module reloading - only major core changes require a restart. Extensive module & handler -support for easy extension and customization.

Installation

Installation instructions

Module highlights

  • URL title fetching with custom handlers via API calls for speed and efficiency
    • IMDb
    • Youtube / Dailymotion
    • Wikipedia
    • Imgur
    • Instagram
    • eBay
    • Spotify
  • Bitcoin exchange rates
  • Wolfram Alpha queries
  • Weather
  • RSS support

Features

  • Modular
    • Live refresh of modules and configuration
    • Coder friendly (a basic module requires just 2 lines of boilerplate code)
    • SSL-support
    • IPv6-support
    • virtualenv-support
    • Works with torify

Support can be found at #pyfibot on irc.nerv.fi and please contact [email protected] if you want to connect outside of Finland (will be changed) or need help with IRC-network.

This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.

pyfibot's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyfibot's Issues

PEP8 not followed

Original author: [email protected] (May 03, 2011 19:37:47)

Revision 293.

botcore.py:39:59: E225 missing whitespace around operator
botcore.py:59:45: E251 no spaces around keyword / parameter equals
botcore.py:75:1: W291 trailing whitespace
botcore.py:152:52: E231 missing whitespace after ','
botcore.py:167:1: E302 expected 2 blank lines, found 1
botcore.py:254:20: E701 multiple statements on one line (colon)
pyfibot.py:72:62: E203 whitespace before ','
pyfibot.py:87:29: W601 .has_key() is deprecated, use 'in'
lib/compass_points.py:2:1: W191 indentation contains tabs
lib/compass_points.py:2:2: E101 indentation contains mixed spaces and tabs
lib/eplib.py:4:10: E401 multiple imports on one line
lib/eplib.py:65:39: E201 whitespace after '('
lib/eplib.py:79:5: E303 too many blank lines (2)
lib/namedays.py:1:4: E261 at least two spaces before inline comment
util/pyfiurl.py:245:97: E241 multiple spaces after ','

We might not want to care of libraries?

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=43

Channels-command should print available networks

Original author: [email protected] (February 08, 2010 22:42:38)

What steps will reproduce the problem?

  1. .channels

What is the expected output? What do you see instead?

What i see:
Please specify a network

What I expected:
Please specify a network: Nerv, IRCnet, Foobar

What version of the product are you using? On what operating system?
SVN :)

Please provide any additional information below.
YARR

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=19

bot.config.example gets overwritten

Original author: Wolphie (January 09, 2007 05:21:38)

What steps will reproduce the problem?

  1. Start pyfibot without a bot.config file
  2. Edit bot.config.example
  3. Start pyfibot again

What is the expected output? What do you see instead?
When starting pyfibot it automatically overwrites your (modified) config
file. I was just fiddling around with the settings and I forgot to rename
the file to bot.config, so I ran pyfibot again and I had to edit the
config again because it was overwritten.

What version of the product are you using? On what operating system?
Latest pyfibot from svn.
os: Gentoo Linux
python: 2.4.4

Please provide any additional information below.
I have attached a patch to fix the problem.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=10

URL anchors

Original author: [email protected] (November 16, 2009 20:03:14)

What steps will reproduce the problem?

  1. Paste <http://stackoverflow.com/questions/1732348/regex-match-open-tags-
    except-xhtml-self-contained-tags/1732454#1732454> to some channel where
    pyfibot says titles of urls.

What is the expected output? What do you see instead?
Expected output is valid title of the page and what I see is: "Title: 'Bad
Request'"

Please provide any additional information below.
URL anchors are creating this error.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=16

403 errors on redirect

Original author: [email protected] (February 08, 2010 20:34:59)

What steps will reproduce the problem?

  1. Write <http://www.dokuwiki.org/dokuwiki> to pyfibot.

What is the expected output? What do you see instead?
I expect title, but instead I get 403-error.

What version of the product are you using? On what operating system?
Shrike are you using SVN-version of your bot? :)

Please provide any additional information below.
GO PIRATES!

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=18

botcore.py has a typo which causes core Python to raise exception

Original author: [email protected] (December 06, 2011 18:00:54)

What steps will reproduce the problem?

  1. Cause a connection loss

What is the expected output? What do you see instead?
Connection loss expected to be logged, instead I see a stack trace

What version of the product are you using? On what operating system?
latest head

Please provide any additional information below.
Fix as attachment

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=47

IRC messages not throttled (Excess flood)

Original author: [email protected] (January 10, 2011 18:17:29)

To reproduce do something, which makes pyfibot to output messages to IRC. If needed do this several times. Effects might differ in different IRC-networks, but messages should definately be throttled. This could be implemented as network spesific using bot.config. More information:

http://en.wikipedia.org/wiki/Internet_Relay_Chat_flood

-!- pyfibot [[email protected]] has quit [Excess Flood]

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=34

Can't handle unicode in channel names

Original author: [email protected] (April 09, 2011 11:14:42)

Configuration:

admins:

  • foo![email protected]
    networks:
    Example:
    channels:
    • ää
      server: example.example.com
      nick: botnick

Bot should join to channel #ää, but I see this instead:

Traceback (most recent call last):
File "pyfibot.py", line 457, in <module>
reactor.run()
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/internet/base.py", line 1158, in run
self.mainLoop()
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/internet/base.py", line 1167, in mainLoop
self.runUntilCurrent()
--- <exception caught here> ---
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/internet/base.py", line 789, in runUntilCurrent
call.func(_call.args, *_call.kw)
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/words/protocols/irc.py", line 1088, in _sendLine
self._reallySendLine(self._queue.pop(0))
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/words/protocols/irc.py", line 1076, in _reallySendLine
return basic.LineReceiver.sendLine(self, lowQuote(line) + '\r')
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/protocols/basic.py", line 625, in sendLine
return self.transport.write(line + self.delimiter)
File "/home/pyfibot/utils/builds/python/2.7/lib/python2.7/site-packages/Twisted-10.2.0-py2.7-linux-x86_64.egg/twisted/internet/abstract.py", line 273, in write
raise TypeError("Data must not be unicode")
exceptions.TypeError: Data must not be unicode

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=37

PEP8 not followed in modules

Original author: [email protected] (May 03, 2011 19:34:46)

Revision 293.

module_autoop.py:19:1: W291 trailing whitespace
module_autoop.py:27:1: E302 expected 2 blank lines, found 1
module_autoop.py:28:3: E111 indentation is not a multiple of four
module_autoop.py:35:28: E261 at least two spaces before inline comment
module_autoop.py:54:36: E231 missing whitespace after ','
module_autoop.py:54:50: E225 missing whitespace around operator
module_calc.py:14:13: E701 multiple statements on one line (colon)
module_forecast.py:29:5: E303 too many blank lines (2)
module_rss.py:277:1: W191 indentation contains tabs
module_rss.py:277:1: E101 indentation contains mixed spaces and tabs
module_weather.py:46:1: W391 blank line at end of file
available/module_ask.py:10:14: E401 multiple imports on one line
available/module_ask.py:37:13: E221 multiple spaces before operator
available/module_ask.py:50:98: E201 whitespace after '('
available/module_ask.py:50:43: E251 no spaces around keyword / parameter equals
available/module_imgur.py:67:46: E202 whitespace before '}'
available/module_nugget.py:48:15: E222 multiple spaces after operator
available/module_pgsqlwanha.py:43:55: E702 multiple statements on one line (semicolon)

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=42

Part-command not working properly

Original author: [email protected] (January 09, 2011 12:58:26)

Configuration:

fgeek@example:~/pyfibot$ cat bot.config
admins:

  • fgeek![email protected]
    networks:
    example:
    channels:
    • test
      server: irc.example.com
      nick: pyfibot

Commands executed:

2011-01-09 14:45:54,567 INFO bot internal command part called by fgeek![email protected] (True) on #test

IRC-activity:

-!- pyfibot [[email protected]] has joined #test
<@fgeek> .part
<pyfibot> I am not in on example.
<pyfibot> I am on ['#test']

What is the expected output?
Bot parting the channel #test

What do you see instead?
Bit odd output. Most of the time we don't want some channel to know all channels where pyfibot is.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=31

Some series break module_sqliteseries

Original author: [email protected] (August 17, 2006 06:24:48)

--- <exception caught here> ---
File "/usr/lib/python2.3/site-packages/twisted/protocols/irc.py", line
1306, in handleCommand
method(prefix, params)
File "/usr/lib/python2.3/site-packages/twisted/protocols/irc.py", line
858, in irc_PRIVMSG
self.privmsg(user, channel, message)
File "botcore.py", line 252, in privmsg
self._command(user, reply, cmnd)
File "botcore.py", line 303, in _command
command(self, user, channel, args)
File "modules/module_sqliteseries.py", line 90, in command_ep
return
File "modules/module_sqliteseries.py", line 107, in _cache_serie
uid = "%s%d%d" % (serie, episode['season'], episode['episode'])
File "modules/module_sqliteseries.py", line 183, in _get_seriedata
###
File "/usr/lib/python2.3/sre.py", line 143, in sub
return _compile(pattern, 0).sub(repl, string, count)

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=5

Twisted library reports 'not found' while installed.

Original author: Wolphie (January 09, 2007 04:45:19)

What steps will reproduce the problem?

  1. Install twisted ("emerge twisted" in my case, I'm running Gentoo Linux)
  2. Run pyfibot: "python pyfibot.py"
  3. "Twisted library not found, please install Twisted 1.3.0 from http://
    twistedmatrix.com/products/download"

What is the expected output? What do you see instead?
Since I do have twisted installed it should give me a little more detail
about what module is missing, in my case it was the 'twisted-words'
package.

Also a minor issue, twisted.protocols.irc has been moved to
twisted.words.protocols.irc
It would be best to replace the following import:
from twisted.protocols import irc

With this:
try:
from twisted.words.protocols import irc
except ImportError:
from twisted.protocols import irc

What version of the product are you using? On what operating system?
Latest pyfibot from SVN.
Twisted 2.4.0-r1
Python 2.4.4

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=9

branches/rss: Duplicate RSS-feeds can be added

Original author: [email protected] (January 09, 2011 13:32:07)

What steps will reproduce the problem?
Say ".addfeed http://code.google.com/feeds/p/pyfibot/issueupdates/basic" twice to some test-channel

What is the expected output?
Duplicate url "http://code.google.com/feeds/p/pyfibot/issueupdates/basic"

What do you see instead?
Url "http://code.google.com/feeds/p/pyfibot/issueupdates/basic" inserted to database.

This is also problem with .delfeed as you can see below

2011-01-09 15:29:25,842 INFO bot module command command_delfeed called by fgeek![email protected] (True) on #test
2011-01-09 15:29:25,847 ERROR bot ERROR [Failure instance: Traceback: <type 'exceptions.TypeError'>: 'NoneType' object is unsubscriptable
/usr/lib/python2.5/threading.py:446:run
/usr/lib/python2.5/site-packages/twisted/python/threadpool.py:161:_worker
/usr/lib/python2.5/site-packages/twisted/python/context.py:59:callWithContext
/usr/lib/python2.5/site-packages/twisted/python/context.py:37:callWithContext
--- <exception caught here> ---
/usr/lib/python2.5/site-packages/twisted/internet/threads.py:24:_putResultInDeferred
/home/users/fgeek/ankkuri2/trunk/modules/module_rss.py:86:command_delfeed
] command command_delfeed error

Nothing is deleted from sqlite-database.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=32

module_imdb too verbose

Original author: [email protected] (November 30, 2011 18:19:55)

Bit too verbose?

2011-11-30 20:18:30,631 INFO core cache miss: http://www.imdb.com/title/tt0118843/
2011-11-30 20:18:30,734 DEBUG [imdbpy] /usr/lib/pymodules/python2.6/imdb/init.py:708: retrieving "main" info set
2011-11-30 20:18:30,734 DEBUG imdbpy retrieving "main" info set
2011-11-30 20:18:30,735 DEBUG [imdbpy.parser.http] /usr/lib/pymodules/python2.6/imdb/parser/http/init.py:411: fetching url http://akas.imdb.com/title/tt0118843/combined (size: -1)
2011-11-30 20:18:30,735 DEBUG imdbpy.parser.http fetching url http://akas.imdb.com/title/tt0118843/combined (size: -1)
2011-11-30 20:18:31,293 INFO core cache hit : http://www.imdb.com/title/tt0118843/
2011-11-30 20:18:32,193 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Directed by"
2011-11-30 20:18:32,193 DEBUG imdbpy.parser.http.build_person empty name or personID for "Directed by"
2011-11-30 20:18:32,194 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,194 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,194 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Writing credits ...(in alphabetical order) "
2011-11-30 20:18:32,194 DEBUG imdbpy.parser.http.build_person empty name or personID for "Writing credits ...(in alphabetical order) "
2011-11-30 20:18:32,195 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Produced by"
2011-11-30 20:18:32,195 DEBUG imdbpy.parser.http.build_person empty name or personID for "Produced by"
2011-11-30 20:18:32,197 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,197 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,197 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Original Music by"
2011-11-30 20:18:32,197 DEBUG imdbpy.parser.http.build_person empty name or personID for "Original Music by"
2011-11-30 20:18:32,198 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,198 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,199 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Cinematography by"
2011-11-30 20:18:32,199 DEBUG imdbpy.parser.http.build_person empty name or personID for "Cinematography by"
2011-11-30 20:18:32,200 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,200 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,201 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Film Editing by"
2011-11-30 20:18:32,201 DEBUG imdbpy.parser.http.build_person empty name or personID for "Film Editing by"
2011-11-30 20:18:32,202 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,202 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,202 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Production Design by"
2011-11-30 20:18:32,202 DEBUG imdbpy.parser.http.build_person empty name or personID for "Production Design by"
2011-11-30 20:18:32,203 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,203 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,204 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Art Direction by"
2011-11-30 20:18:32,204 DEBUG imdbpy.parser.http.build_person empty name or personID for "Art Direction by"
2011-11-30 20:18:32,205 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,205 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,205 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Costume Design by"
2011-11-30 20:18:32,205 DEBUG imdbpy.parser.http.build_person empty name or personID for "Costume Design by"
2011-11-30 20:18:32,208 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,208 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,209 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Makeup Department"
2011-11-30 20:18:32,209 DEBUG imdbpy.parser.http.build_person empty name or personID for "Makeup Department"
2011-11-30 20:18:32,210 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,210 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,211 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Production Management"
2011-11-30 20:18:32,211 DEBUG imdbpy.parser.http.build_person empty name or personID for "Production Management"
2011-11-30 20:18:32,212 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,212 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,213 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Second Unit Director or Assistant Director"
2011-11-30 20:18:32,213 DEBUG imdbpy.parser.http.build_person empty name or personID for "Second Unit Director or Assistant Director"
2011-11-30 20:18:32,215 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,215 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,215 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Art Department"
2011-11-30 20:18:32,215 DEBUG imdbpy.parser.http.build_person empty name or personID for "Art Department"
2011-11-30 20:18:32,216 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,216 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,217 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Sound Department"
2011-11-30 20:18:32,217 DEBUG imdbpy.parser.http.build_person empty name or personID for "Sound Department"
2011-11-30 20:18:32,219 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,219 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,220 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Visual Effects by"
2011-11-30 20:18:32,220 DEBUG imdbpy.parser.http.build_person empty name or personID for "Visual Effects by"
2011-11-30 20:18:32,221 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,221 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,221 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Camera and Electrical Department"
2011-11-30 20:18:32,221 DEBUG imdbpy.parser.http.build_person empty name or personID for "Camera and Electrical Department"
2011-11-30 20:18:32,224 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,224 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,224 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Costume and Wardrobe Department"
2011-11-30 20:18:32,224 DEBUG imdbpy.parser.http.build_person empty name or personID for "Costume and Wardrobe Department"
2011-11-30 20:18:32,226 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,226 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,226 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Editorial Department"
2011-11-30 20:18:32,226 DEBUG imdbpy.parser.http.build_person empty name or personID for "Editorial Department"
2011-11-30 20:18:32,228 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,228 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,229 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Music Department"
2011-11-30 20:18:32,229 DEBUG imdbpy.parser.http.build_person empty name or personID for "Music Department"
2011-11-30 20:18:32,231 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,231 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,232 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "Other crew"
2011-11-30 20:18:32,232 DEBUG imdbpy.parser.http.build_person empty name or personID for "Other crew"
2011-11-30 20:18:32,234 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for " "
2011-11-30 20:18:32,234 DEBUG imdbpy.parser.http.build_person empty name or personID for " "
2011-11-30 20:18:32,247 DEBUG [imdbpy.parser.http.build_person] /usr/lib/pymodules/python2.6/imdb/parser/http/utils.py:253: empty name or personID for "rest of cast listed alphabetically:"
2011-11-30 20:18:32,247 DEBUG imdbpy.parser.http.build_person empty name or personID for "rest of cast listed alphabetically:"
2011-11-30 20:18:32,290 DEBUG [imdbpy] /usr/lib/pymodules/python2.6/imdb/init.py:708: retrieving "plot" info set
2011-11-30 20:18:32,290 DEBUG imdbpy retrieving "plot" info set
2011-11-30 20:18:32,290 DEBUG [imdbpy.parser.http] /usr/lib/pymodules/python2.6/imdb/parser/http/init.py:411: fetching url http://akas.imdb.com/title/tt0118843/plotsummary (size: -1)
2011-11-30 20:18:32,290 DEBUG imdbpy.parser.http fetching url http://akas.imdb.com/title/tt0118843/plotsummary (size: -1)
2011-11-30 20:18:32,822 DEBUG bot Result ('botcore.say', '#test', '[IMDB] Crna macka, beli macor (1998) - Rating: 8.0 (20443 votes) (Comedy/Music/Romance) ') handler handle_url completed

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=46

Dig out Youtube links from crappy sites and print the direct URL

Original author: [email protected] (October 21, 2011 07:18:55)

Example link:

http://www.iltasanomat.fi/viihde/herkkaa-pienen-elefantin-hurmaavat-ensiaskeleet/art-1288422316882.html

  1. figure out where the article is on the page
  2. see if there is an embedded youtube clip
  3. parse youtube link
  4. say on channel

Optional step 3b also parse youtube data via api, paste it with the direct youtu.be url.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=45

PyFiBot.say() sends PRIVMSG to user with potentially unsupported target

Original author: [email protected] (April 26, 2011 06:53:23)

Though the RFC states that PRIVMSG user!~user@hostname is supported, many servers don't allow this (or restrict it to Opers along with other hostmask-based messaging to prevent abuse).

The simplest solution is for PyFiBot.privmsg() to strip the mask if the reply is to a user e.g. after reply = ...
if reply == user: reply = reply.split("!")[0]

This only affects commands sent to the bot in a private message.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=41

branches/rss: Threads aren't eliminated after .quit

Original author: [email protected] (January 09, 2011 12:04:06)

What steps will reproduce the problem?

  1. Run the pyfibot with rss-module r231 (http://code.google.com/p/pyfibot/source/browse/branches/rss/modules/module_rss.py?r=231)
  2. Quit the bot using .quit-command as admin
  3. ps aux|grep pyfibot

This might be helpful in fixing this issue:
http://docs.python.org/library/multiprocessing.html#multiprocessing.Process.terminate

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=30

Nuggets module

Original author: [email protected] (October 17, 2010 20:45:06)

What steps will reproduce the problem?

  1. CentOS 5/OpenVZ VPS
  2. pyfibot w/ oauth2 & json

What is the expected output? What do you see instead?

File "{INSTALLDIR}/pyfibot/modules/module_nugget.py", line 11
class Nuggets():
^
SyntaxError: invalid syntax

What version of the product are you using? On what operating system?
latest of pyfibot/CentOS 5

Please provide any additional information below.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=26

Error with number sign (#) in bot.config

Original author: [email protected] (January 03, 2011 16:26:18)

What steps will reproduce this problem?

  1. Enter this string as channel to bot.config:

pyfitest

fgeek@example:~/code/python/pyfibot-test-2011-01$ ./pyfibot.py
Psyco not found, running unoptimized
Traceback (most recent call last):
File "./pyfibot.py", line 444, in <module>
if channel[0] not in '&#!+': channel = '#' + channel
TypeError: 'NoneType' object is unsubscriptable

I would like to see some error message if #-character can't be used or for example just strip the channel in parsing. Current implementation might be confusing for new users.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=28

RSS module and UTF-8 feeds.

Original author: [email protected] (May 18, 2012 07:27:47)

What steps will reproduce the problem?

  1. Add a feed to the rss module containing UTF-8 items
  2. for example: http://www.reddit.com/r/kpop/new.rss?sort=new

What is the expected output? What do you see instead?
Expected output: functioning rss spam.
Instead: DEBUG rss Error in sqlite_add_item: 'ascii' codec can't encode characters in position 68-70: ordinal not in range(128)

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=51

Pyfibot does not respect virtualenv

Original author: [email protected] (November 22, 2010 03:18:14)

What steps will reproduce the problem?

  1. Create a virutal environment on a system without Twisted.
  2. Install Twisted within the virtual environment.
  3. Run pyfibot.py as an executable file.

What is the expected output? What do you see instead?
It is expected that pyfibot should properly import twisted and move along, however it doesn't.

What version of the product are you using? On what operating system?
Current trunk.

This issue is resolved by modifying the header of the py file to use #!/usr/bin/env python instead of #!/usr/bin/python, since the formerly mentioned command will respect the current enviornment instead of directly pointing to a specific executable file. The latter method wont take into account any of the packages installed in the virtual environment.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=27

RSS module spam if feed becomes unreachable

Original author: [email protected] (February 19, 2012 19:49:12)

What steps will reproduce the problem?

  1. Setup rss so that it works
  2. Make the feed fail (like redirect loop or other HTTP error)

What is the expected output? What do you see instead?
Expected output is none, but the module starts to spam old entries.

Happened with http://mojang.com/feed once, when they were changing servers.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=50

branches/rss: Database locked issues

Original author: [email protected] (January 09, 2011 16:41:29)

Reproduce:
Do something several times in row, which uses sqlite-database.

Expected output:
Succesful execution after a while.

Instead:
2011-01-09 18:36:37,605 DEBUG rss Exception in function output:
database is locked

More information:

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=33

Module loading stops execution

Original author: [email protected] (January 03, 2011 16:30:44)

What I see:

fgeek@example:~/code/python/pyfibot-test-2011-01$ ./pyfibot.py
Psyco not found, running unoptimized
2011-01-03 18:27:22,265 INFO core load module - module_nugget.py
2011-01-03 18:27:22,266 INFO core load module - module_spotify.py
2011-01-03 18:27:22,267 INFO core load module - module_pgsqlwanha.py
2011-01-03 18:27:22,268 INFO core initialize module - module_pgsqlwanha.py
2011-01-03 18:27:22,268 INFO core load module - module_forecast.py
Error loading library pywapi. Probably you havent installed it yet.
2011-01-03 18:27:22,268 INFO core load module - module_posti.py
2011-01-03 18:27:22,274 INFO core load module - module_expl.py
2011-01-03 18:27:22,276 INFO core load module - module_oraakkeli.py
2011-01-03 18:27:22,276 INFO core load module - module_imgur.py
Traceback (most recent call last):
File "./pyfibot.py", line 453, in <module>
reactor.connectTCP(settings['server'], port, factory)
File "/usr/lib/python2.5/site-packages/twisted/internet/posixbase.py", line 335, in connectTCP
c.connect()
File "/usr/lib/python2.5/site-packages/twisted/internet/base.py", line 903, in connect
self.factory.doStart()
File "/usr/lib/python2.5/site-packages/twisted/internet/protocol.py", line 47, in doStart
self.startFactory()
File "./pyfibot.py", line 235, in startFactory
self._loadmodules()
File "./pyfibot.py", line 316, in _loadmodules
execfile(os.path.join(self.moduledir, module), env, env)
File "/home/fgeek/code/python/pyfibot-test-2011-01/modules/module_imgur.py", line 5, in <module>
import oauth2 as oauth
ImportError: No module named oauth2

What I expect:

Pyfibot running without failing module.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=29

IPv6 not supported

Original author: [email protected] (May 09, 2011 15:59:54)

bot.config:
<snip>
networks:
Nerv:
channels:
- test
linerate: 3
server: 2a00:1a58:f501:235:a06d:39ff:fe06:c39f
nick: foo

Startup:

fgeek@test:~/pyfibot-read-only$ ./pyfibot.py
Psyco not found, running unoptimized
2011-05-09 18:58:29,899 INFO core connecting to durian.nerv.fi:6667
2011-05-09 18:58:29,900 INFO core factory started
2011-05-09 18:58:30,419 INFO core Building protocol for IPv4Address(TCP, '178.213.235.79', 6667)
2011-05-09 18:58:35,658 DEBUG core Address: IPv4Address(TCP, '178.213.235.79', 6667) - durian.nerv.fi
2011-05-09 18:58:35,658 DEBUG core connecting to Network('Nerv', ('durian.nerv.fi', 6667)) / IPv4Address(TCP, '178.213.235.79', 6667)
2011-05-09 18:58:35,659 INFO bot bot initialized
2011-05-09 18:58:35,659 INFO bot connection made
2011-05-09 18:58:36,161 INFO bot joined 1 channel(s): #test
2011-05-09 18:58:36,161 INFO bot Nerv YOURHOST: Your host is durian.nerv.fi[178.213.235.79/6667], running version hybrid-7.2.2
2011-05-09 18:58:36,161 INFO bot Nerv CREATED: This server was created Apr 16 2011 at 20:14:47
2011-05-09 18:58:36,161 INFO bot Nerv MYINFO: durian.nerv.fi None None None
2011-05-09 18:58:36,162 INFO bot Nerv SUPPORTS: CALLERID,CASEMAPPING=rfc1459,DEAF=D,KICKLEN=160,MODES=4,NICKLEN=15,PREFIX=(ov)@+,STATUSMSG=@+,TOPICLEN=160,NETWORK=Nerv,MAXLIST=beI:25,MAXTARGETS=5,CHANTYPES=#&
2011-05-09 18:58:36,162 INFO bot Nerv SUPPORTS: CHANLIMIT=#&:15,CHANNELLEN=50,CHANMODES=eIb,k,l,imnpst,AWAYLEN=160,KNOCK,ELIST=CMNTU,SAFELIST,EXCEPTS=e,INVEX=I
2011-05-09 18:58:36,162 INFO bot Nerv LUSERME: I have 19 clients and 1 servers

Pyfibot does not connect using IPv6. Am I doing something wrong or? :)

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=44

User info should be stored

Original author: [email protected] (September 28, 2006 19:53:50)

The bot should do a WHO #channel on join and catch the resulting
RPL_WHOREPLY -> RPL_ENDOFWHO

The only really important data to store is userhost + op/voice for
authorization (make commands available to ops/voice only)

The downside is that join/part/quit needs to be monitored too and update
when necessary - if the userhost is globbed (*!user@host), there's no need
to track nick changes.

Original issue: http://code.google.com/p/pyfibot/issues/detail?id=8

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.