Purge yet more broken and unsupported plugins.

This commit is contained in:
Gordon 2023-05-31 05:03:14 +00:00
parent 0f2fddfc54
commit e0e58c3c74
6 changed files with 0 additions and 282 deletions

View File

@ -1,22 +0,0 @@
Retrieve responses from the Bot Libre API.
## BotLibre
Register for an account: https://www.botlibre.com/api.jsp (FREE)
```
config plugins.BotLibre.application (YOUR_APP_KEY_HERE)
config plugins.BotLibre.instance (BOT_INSTANCE_ID_HERE)
```
make the bot respond to invalid commands:
```
config plugins.BotLibre.invalidcommand True
```
or:
```
config channel #channel plugins.BotLibre.invalidcommand True
```
Use messapeparser to make the bot respond to messages containing its nick:
```
messageparser add "(?i)(.*)([echo $botnick])(.*)" "echo [botlibre $1$3]"
```

View File

@ -1,64 +0,0 @@
###
# Copyright (c) 2020, oddluck <oddluck@riseup.net>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions, and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions, and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the author of this software nor the name of
# contributors to this software may be used to endorse or promote products
# derived from this software without specific prior written consent.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
###
"""
BotLibre: Enables the bot to respond via the BotLibre API.
"""
import supybot
import supybot.world as world
# Use this for the version of this plugin. You may wish to put a CVS keyword
# in here if you're keeping the plugin in CVS or some similar system.
__version__ = "2020.02.24+git"
# XXX Replace this with an appropriate author or supybot.Author instance.
__author__ = supybot.Author("oddluck", "oddluck", "oddluck@riseup.net")
# This is a dictionary mapping supybot.Author instances to lists of
# contributions.
__contributors__ = {}
# This is a url where the most recent plugin package can be downloaded.
__url__ = "https://github.com/oddluck/limnoria-plugins/"
from . import config
from . import plugin
from imp import reload
reload(config)
reload(plugin)
if world.testing:
from . import test
Class = plugin.Class
configure = config.configure
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:

View File

@ -1,81 +0,0 @@
###
# Copyright (c) 2020, oddluck <oddluck@riseup.net>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions, and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions, and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the author of this software nor the name of
# contributors to this software may be used to endorse or promote products
# derived from this software without specific prior written consent.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
###
import supybot.conf as conf
import supybot.registry as registry
try:
from supybot.i18n import PluginInternationalization
_ = PluginInternationalization("BotLibre")
except:
_ = lambda x: x
def configure(advanced):
from supybot.questions import expect, anything, something, yn
conf.registerPlugin("BotLibre", True)
if advanced:
output("The BotLibre Plugin allows you to interact with Bot Libre")
BotLibre = conf.registerPlugin("BotLibre")
conf.registerChannelValue(
BotLibre,
"invalidCommand",
registry.Boolean(False, _("""Should I be invoked on Invalid Commands?""")),
)
conf.registerGlobalValue(
BotLibre,
"application",
registry.String(
"",
_(
"""The BotLibre API Application String
(required)"""
),
private=True,
),
)
conf.registerGlobalValue(
BotLibre,
"instance",
registry.String(
"",
_(
"""The BotLibre API Instance String
(required)"""
),
private=True,
),
)
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:

View File

@ -1,106 +0,0 @@
###
# Copyright (c) 2020, oddluck <oddluck@riseup.net>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions, and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions, and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the author of this software nor the name of
# contributors to this software may be used to endorse or promote products
# derived from this software without specific prior written consent.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
###
from supybot.commands import *
import supybot.conf as conf
import supybot.utils as utils
import supybot.plugins as plugins
import supybot.callbacks as callbacks
import re
import json
import requests
try:
from supybot.i18n import PluginInternationalization
_ = PluginInternationalization("BotLibre")
except ImportError:
_ = lambda x: x
class BotLibre(callbacks.Plugin):
"""BotLibre API Interface"""
threaded = True
public = True
botNick = False
def __init__(self, irc):
self.__parent = super(BotLibre, self)
self.__parent.__init__(irc)
self.url = "https://www.botlibre.com/rest/json/chat"
self.conversation = {}
def _queryBot(self, irc, channel, text):
text = re.sub("fuck", "screw", text, flags=re.IGNORECASE)
text = re.sub("cunt", "pussy", text, flags=re.IGNORECASE)
text = re.sub("bitch", "", text, flags=re.IGNORECASE)
text = re.sub("whore", "slut", text, flags=re.IGNORECASE)
self.conversation.setdefault(channel, None)
if self.conversation[channel]:
payload = {
"application": self.registryValue("application"),
"instance": self.registryValue("instance"),
"message": text,
"conversation": self.conversation[channel],
}
else:
payload = {
"application": self.registryValue("application"),
"instance": self.registryValue("instance"),
"message": text,
}
try:
r = requests.post(self.url, json=payload)
j = json.loads(r.content)
response = j["message"]
self.conversation[channel] = j["conversation"]
if response:
irc.reply(re.sub("<[^<]+?>", "", j["message"]))
except:
return
def botlibre(self, irc, msg, args, text):
"""Manual Call to the BotLibre API"""
channel = msg.args[0]
if not irc.isChannel(channel):
channel = msg.nick
self._queryBot(irc, channel, text)
botlibre = wrap(botlibre, ["text"])
def invalidCommand(self, irc, msg, tokens):
chan = msg.args[0]
if irc.isChannel(chan) and self.registryValue("invalidCommand", chan):
self._queryBot(irc, chan, msg.args[1][1:].strip())
Class = BotLibre
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

View File

@ -1 +0,0 @@
requests

View File

@ -1,8 +0,0 @@
from supybot.setup import plugin_setup
plugin_setup(
'BotLibre',
install_requires=[
'requests',
],
)