Giter VIP home page Giter VIP logo

cloudbotlegacy'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  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

cloudbotlegacy's Issues

Syntax Errors in Core files

master!neerbot> python bot.py
Loading plugins
Traceback (most recent call last):
  File "core/reload.py", line 51, in reload
    eval(compile(open(filename, 'U').read(), filename, 'exec'),
  File "core/irc.py", line 76
     except (self.get_timeout_exception_type(), socket.error) as e:
                                                               ^
 SyntaxError: invalid syntax
master!neerbot>

Seems something is derped. I've cherry-picked like mad, and also have completely wiped the bot, but it just won't start...

FMyLife plugin breaks BeautifulSoup?

File "bot.py", line 48, in
reload(init=True)
File "core/reload.py", line 60, in reload
reload(init=init)
File "core/reload.py", line 89, in reload
eval(code, namespace)
File "plugins/fmylife.py", line 16, in
refresh_cache()
File "plugins/fmylife.py", line 8, in refresh_cache
soup = http.get_soup('http://www.fmylife.com/random/')
File "plugins/util/http.py", line 66, in get_soup
return BeautifulSoup(get(_args, *_kwargs), 'lxml')
File "plugins/util/http.py", line 54, in get
return open(_args, *_kwargs).read()
File "plugins/util/http.py", line 105, in open
return opener.open(request)
File "/usr/lib/python2.7/urllib2.py", line 400, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 418, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(_args)
File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1174, in do_open
h.request(req.get_method(), req.get_selector(), req.data, headers)
File "/usr/lib/python2.7/httplib.py", line 958, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 757, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 562, in create_connection
sock.connect(sa)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(_args)
KeyboardInterrupt

derp

Make .addadmin accept wild cards such as * and !

Error on .mcping

This only happens the first time the command is typed as far as I can tell. I'm running on centos. The bot is up on irc.esper.net #OmniGamersNation.

The command will never ping a server.

Error:

Unhandled exception in thread started by <bound method Handler.start of <main.Handler object at 0x295f390>>
Traceback (most recent call last):
Unhandled exception in thread started by <bound method Handler.start of <main.Handler object at 0x2959090>> File "core/main.py", line 98, in start

Traceback (most recent call last):
db = bot.get_db_connection(input.conn)
File "core/main.py", line 98, in start
File "core/db.py", line 12, in get_db_connection
name = '{}.db'.format(conn.name)
db = bot.get_db_connection(input.conn)
ValueError11:06:17 #omnigamersnation .mcping mc.omnigamersnation.com
File "core/db.py", line 12, in get_db_connection
: zero length field name in format
name = '{}.db'.format(conn.name)
ValueError: zero length field name in format
�

Hope you can help.

ChanServ Features

add basic chanserv features that can be enabled and disabled from the config.

Plugins won't run

$ neer@chrisgward (~/.irssi/scripts/autorun): python2.7 ~/neerbot/bot.py
Loading plugins
Traceback (most recent call last):
  File "core/reload.py", line 89, in reload
    eval(code, namespace)
  File "plugins/youtube.py", line 8, in <module>
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/local/lib/python2.7/locale.py", line 531, in setlocale
    return _setlocale(category, locale)
Error: unsupported locale setting
Traceback (most recent call last):
  File "core/reload.py", line 87, in reload
    code = compile(open(filename, 'U').read(), filename, 'exec')
  File "plugins/factoids.py", line 71
    return
         ^
IndentationError: expected an indented block

Seems some stuff STILL won't run. Any ideas?

Nicktracking/Auth/Perms

These features need to be developed order:

  • Nicktracking should be able to keep track of users, even if nick, ident, or host change.
  • Users should /msg auth <user> <pass> the bot, and logins should be regex capable (Like a IRCd O:Line)
  • Perms should be a sieve, and applied like @hook.somehook(auth.level(admin)

Convert newgrounds to BS4

Newgrounds was written for BeautifulSoup 3 and will not work without the user manually installing that module.

seen plugin

Please add to seen plugin this:
For now if bot are in like 4 channels and you check for someone - it says that this person are not talked to this channel while it talks in another. So it will be nice if it report from another channels too. If you get what i mean. :)

Censor - Empty

Having [] or [""] as your censored strings value censors evrything.

my bot died 3 times in ~7 days with this

Unhandled exception in thread started by <bound method crlf_tcp.run of <main.crlf_tcp object at 0xcf3ad0>>
Traceback (most recent call last):
File "core/irc.py", line 45, in run
self.socket.connect((self.host, self.port))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.timeout: timed out

pip only

move all packages to pip, for ease of use across platforms, and for updated versions

Per-Plugin Config

Add a plugins section to the config, and add a pluginname section to that, read by each config

Color Striping in .mcping

Section Signs appear when using .mcping on a server which has color codes in the MOTD

Example: §6RoyalCraft Survival - Minecraft 1.4.5 - 1/26 players

Maybe replace them with IRC Colors?

op.py should be channel-specific

op.py should be channel specific, so that a shared bot cannot be used to take over a channel. This requires the auth system in #30 to be finished first, but should be easy to implement.

.ping strips -

.ping ci.md-5.net
(TheReverend403) Attempting to ping ci.md5.net 5 times...

Not intended behaviour.

Easy new plugin idea - show length of message

I can't send the PR right now, but something like this:

@hook.command
def length(inp):
    return "The length of that message is %s characters" % len(inp)

Pretty straightforward, but it could be pretty useful just to have there, instead of having to do ;py print len("lalalalala"); or something

Complete new CloudBot permissions system

I can't get on IRC right now, so I'm posting this here.
I've been working on a new permissions system and it's partly done. Here is the plan I wrote up, I would love feedback!

CloudBot multi-tier permissions system overview.

Permissions are based on groups.
Groups can have an unlimited number of permissions.

"permission_groups": {
    "examplegroup": ["editfactoids", "botcontrol"]
}

You can put users in groups, and they gain the permissions of that group.

"permission_users" {
    "examplegroup": ["[email protected]"]
}

Here we see the group "examplegroup" has the user "[email protected]" in it, so the user gain the "editfactoids" and the "botcontrol" permissions.


How does this work?

We can make permissions required by a plugin hook like so:
@hook.command(perms=["editfactoids", "editfactoids2"])

So any user in a group with the "editfactoids" OR "editfactoids2" permission gains access to this command.

There will also be a util module to check user permissions.

from util import perms
perms.has_perm(input.mask, "editfactoids")

CleverBot returns blank output

when attempting to chat with cleverbot, all queries return a blank output

4:49 PM <Luke> .cb  are you still broken?
4:49 PM <mau5bot> (Luke) 

Fix buggy .geoip code.

For some reason, geoip.py is always reporting Canada as a ip's location. I'm planning to look at this later today, and see if it's a simple fix. If it's not, and something is wrong with the database we are using, we need to brainstorm new services to use.

Possible replacements:

  • Maxmind

@lukeroge, any thoughts?

Bot Wrapper

Wrapper around the bot with support for tmux and daemon. Colors, status, and smart stop/start commands come with the deal. It should also have a interactive mode.

Also, it should read the preferred method (screen/daemon) from the config, and use daemon, then screen if the config does not specify

op.py

topic doesnt work when spec'ing the chan to use it in.

if inp[0][0] == "#":
out = "PRIVMSG %s :%s" % (inp[0], message)
else:
out = "TOPIC %s :%s" % (chan, message)

^ seems legit

Tidy admin.py a bit

Variables need renaming and output strings need formatting like so:
out = "PRIVMSG %s :\x01ACTION \x01 %s" % (stuff[0], message)

Perms/clean up/regex

Luke you should really clean up permission commands with one base command.
an authentication systems should be put in for everyone but the owner which should be put into the config. people can "login" to the bot by .auth login
and logout by .auth logout
ignore should be done via a regex hostmask (eg !@ or !test@ to ignore anyone with the ident of test)

Cloudbot can't read messages that comes from ingame with craftirc!

HI, I am wondering if you could make it so cloudbot can read messages that comes from craftirc, example
CraftircBot: : .bukkit
it won't read that maybe something like *.bukkit so it reads anything that is before that, because usually people got different setups on their perms/craftirc, or possibly make it so you need to add the bot to some sort of safe bot or similar!
Anyway I been wanting this long time, and I forgot I could make an issue :)

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.