Initial Commit
This commit is contained in:
commit
fbc58b0f7d
71
__init__.py
Normal file
71
__init__.py
Normal file
@ -0,0 +1,71 @@
|
||||
###
|
||||
# Copyright (c) 2020, mogad0n
|
||||
# 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.
|
||||
|
||||
###
|
||||
|
||||
"""
|
||||
UnicodeEmoji: A growing set of Unicode Emojis
|
||||
"""
|
||||
|
||||
import sys
|
||||
import supybot
|
||||
from supybot import world
|
||||
|
||||
# Use this for the version of this plugin.
|
||||
__version__ = ""
|
||||
|
||||
# XXX Replace this with an appropriate author or supybot.Author instance.
|
||||
__author__ = supybot.authors.unknown
|
||||
|
||||
# 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__ = ''
|
||||
|
||||
from . import config
|
||||
from . import plugin
|
||||
if sys.version_info >= (3, 4):
|
||||
from importlib import reload
|
||||
else:
|
||||
from imp import reload
|
||||
# In case we're being reloaded.
|
||||
reload(config)
|
||||
reload(plugin)
|
||||
# Add more reloads here if you add third-party modules and want them to be
|
||||
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
||||
|
||||
if world.testing:
|
||||
from . import test
|
||||
|
||||
Class = plugin.Class
|
||||
configure = config.configure
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
56
config.py
Normal file
56
config.py
Normal file
@ -0,0 +1,56 @@
|
||||
###
|
||||
# Copyright (c) 2020, mogad0n
|
||||
# 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 import conf, registry
|
||||
try:
|
||||
from supybot.i18n import PluginInternationalization
|
||||
_ = PluginInternationalization('UnicodeEmoji')
|
||||
except:
|
||||
# Placeholder that allows to run the plugin on a bot
|
||||
# without the i18n module
|
||||
_ = lambda x: x
|
||||
|
||||
|
||||
def configure(advanced):
|
||||
# This will be called by supybot to configure this module. advanced is
|
||||
# a bool that specifies whether the user identified themself as an advanced
|
||||
# user or not. You should effect your configuration by manipulating the
|
||||
# registry as appropriate.
|
||||
from supybot.questions import expect, anything, something, yn
|
||||
conf.registerPlugin('UnicodeEmoji', True)
|
||||
|
||||
|
||||
UnicodeEmoji = conf.registerPlugin('UnicodeEmoji')
|
||||
# This is where your configuration variables (if any) should go. For example:
|
||||
# conf.registerGlobalValue(UnicodeEmoji, 'someConfigVariableName',
|
||||
# registry.Boolean(False, _("""Help for someConfigVariableName.""")))
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
1
local/__init__.py
Normal file
1
local/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
# Stub so local is a module, used for third-party modules
|
173
plugin.py
Normal file
173
plugin.py
Normal file
@ -0,0 +1,173 @@
|
||||
###
|
||||
# Copyright (c) 2020, mogad0n
|
||||
# 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 import utils, plugins, ircutils, callbacks
|
||||
from supybot.commands import *
|
||||
try:
|
||||
from supybot.i18n import PluginInternationalization
|
||||
_ = PluginInternationalization('UnicodeEmoji')
|
||||
except ImportError:
|
||||
# Placeholder that allows to run the plugin on a bot
|
||||
# without the i18n module
|
||||
_ = lambda x: x
|
||||
|
||||
emoji = {'innocent':'ʘ‿ʘ',
|
||||
'disapproval':'ಠ_ಠ',
|
||||
'tableflip':'(╯°□°)╯︵ ┻━┻',
|
||||
'putbacktable':'┬─┬ ノ( ゜-゜ノ)',
|
||||
'tidy-up':'┬─┬⃰͡ (ᵔᵕᵔ͜ )',
|
||||
'double-Flip':'┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻',
|
||||
'fisticuffs':'ლ(`ー´ლ)',
|
||||
'cute-bear':'ʕ•ᴥ•ʔ',
|
||||
'squinting-bear':'ʕᵔᴥᵔʔ',
|
||||
'gtfo-bear':'ʕ •`ᴥ•´ʔ',
|
||||
'cuteface':'(。◕‿◕。)',
|
||||
'surprised':'( ゚Д゚)',
|
||||
'shrug-face':'¯\\_(ツ)_/¯',
|
||||
'meh':'¯\\(°_o)/¯',
|
||||
'feel-perky':'(`・ω・´)',
|
||||
'angry-face':'(╬ ಠ益ಠ)',
|
||||
'at-what-cost':'ლ(ಠ益ಠლ)',
|
||||
'excited':'☜(⌒▽⌒)☞',
|
||||
'running':'ε=ε=ε=┌(;*´Д`)ノ',
|
||||
'happy-face':'ヽ(´▽`)/',
|
||||
'glory':'ヽ(´ー`)ノ',
|
||||
'kitty-emote':'ᵒᴥᵒ#',
|
||||
'fido':'V•ᴥ•V',
|
||||
'meow':'ฅ^•ﻌ•^ฅ',
|
||||
'cheers':'( ^_^)o自自o(^_^ )',
|
||||
'devious':'ಠ‿ಠ',
|
||||
'4chan':'( ͡° ͜ʖ ͡°)',
|
||||
'crying':'ಥ_ಥ',
|
||||
'breakdown':'ಥ﹏ಥ',
|
||||
'disagree':'٩◔̯◔۶',
|
||||
'flexing':'ᕙ(⇀‸↼‶)ᕗ',
|
||||
'do-you-even-lift-bro?':' ᕦ(ò_óˇ)ᕤ',
|
||||
'kirby':'⊂(◉‿◉)つ',
|
||||
'tripping-out':'q(❂‿❂)p',
|
||||
'discombobulated':'⊙﹏⊙',
|
||||
'sad-and-confused':'¯\\_(⊙︿⊙)_/¯',
|
||||
'japanese-lion-face':'°‿‿°',
|
||||
'confused':'¿ⓧ_ⓧﮌ',
|
||||
'confused-scratch':'(⊙.☉)7',
|
||||
'worried':'(´・_・`)',
|
||||
'dear-god-why':'щ(゚Д゚щ)',
|
||||
'staring':'٩(๏_๏)۶',
|
||||
'pretty-eyes':'ఠ_ఠ',
|
||||
'strut':'ᕕ( ᐛ )ᕗ',
|
||||
'zoned':'(⊙_◎)',
|
||||
'crazy':'ミ●﹏☉ミ',
|
||||
'trolling':'༼∵༽ ༼⍨༽ ༼⍢༽ ༼⍤༽',
|
||||
'angry-troll':'ヽ༼ ಠ益ಠ ༽ノ',
|
||||
'fuck-it':'t(-_-t)',
|
||||
'sad-face':'(ಥ⌣ಥ)',
|
||||
'hugger':'(づ ̄ ³ ̄)づ',
|
||||
'stranger-danger':'(づ。◕‿‿◕。)づ',
|
||||
'flip-friend':'(ノಠ ∩ಠ)ノ彡( \\o°o)\\',
|
||||
'cry-face':'。゚( ゚இ‸இ゚)゚。',
|
||||
'cry-troll':'༼ ༎ຶ ෴ ༎ຶ༽',
|
||||
'tgif':'“ヽ(´▽`)ノ”',
|
||||
'dancing':'┌(ㆆ㉨ㆆ)ʃ',
|
||||
'sleepy':'눈_눈',
|
||||
'angry-birds':'( ఠൠఠ )ノ',
|
||||
'no-support':'乁( ◔ ౪◔)「 ┑( ̄Д  ̄)┍',
|
||||
'shy':'(๑•́ ₃ •̀๑)',
|
||||
'fly-away':'⁽⁽ଘ( ˊᵕˋ )ଓ⁾⁾',
|
||||
'careless':'◔_◔',
|
||||
'love':'♥‿♥',
|
||||
'ididit':'ԅ(≖‿≖ԅ)',
|
||||
'kissing':'( ˘ ³˘)♥',
|
||||
'shark-face':'( ˇ෴ˇ )',
|
||||
'emo-dance':'ヾ(-_- )ゞ',
|
||||
'dance':'♪♪ ヽ(ˇ∀ˇ )ゞ',
|
||||
'opera':'ヾ(´〇`)ノ♪♪♪',
|
||||
'winnie-the-pooh':'ʕ •́؈•̀)',
|
||||
'boxing':'ლ(•́•́ლ)',
|
||||
'fight':"(ง'̀-'́)ง",
|
||||
'headphones':'◖ᵔᴥᵔ◗ ♪ ♫',
|
||||
'robot':'{•̃_•̃}',
|
||||
'seal':'(ᵔᴥᵔ)',
|
||||
'questionable':'(Ծ‸ Ծ)',
|
||||
'winning':'(•̀ᴗ•́)و ̑̑',
|
||||
'zombie':'[¬º-°]¬',
|
||||
'pointing':'(☞゚ヮ゚)☞',
|
||||
'whistling':'(っ•́。•́)♪♬',
|
||||
'injured':'(҂◡_◡)',
|
||||
'creeper':'ƪ(ړײ)ƪ',
|
||||
'eye-roll':'⥀.⥀',
|
||||
'flying':'ح˚௰˚づ',
|
||||
'cannotunsee':'♨_♨',
|
||||
'looking-down':'(._.)',
|
||||
'imahugger':'(⊃。•́‿•̀。)⊃',
|
||||
'wizard':'(∩`-´)⊃━☆゚.*・。゚',
|
||||
'yum':'(っ˘ڡ˘ς)',
|
||||
'judging':'( ఠ ͟ʖ ఠ)',
|
||||
'tired':'( ͡ಠ ʖ̯ ͡ಠ)',
|
||||
'dislike':'( ಠ ʖ̯ ಠ)',
|
||||
'hitchhiking':'(งツ)ว',
|
||||
'satisfied':'(◠﹏◠)',
|
||||
'sadcry':'(ᵟຶ︵ ᵟຶ)',
|
||||
'stunna-shades':'(っ▀¯▀)つ',
|
||||
'chicken':'ʚ(•`',
|
||||
'barf':'(´ж`ς)',
|
||||
'fuck-off':'(° ͜ʖ͡°)╭∩╮',
|
||||
'smiley-toast':'ʕʘ̅͜ʘ̅ʔ',
|
||||
'exorcism':'ح(•̀ж•́)ง †',
|
||||
'love':'-`ღ´-',
|
||||
'taking-a-dump':'(⩾﹏⩽)',
|
||||
'dab':'ヽ( •_)ᕗ',
|
||||
'wave-dance':'~(^-^)~',
|
||||
'happy-hug':'\\(ᵔᵕᵔ)/',
|
||||
'resting-my-eyes':'ᴖ̮ ̮ᴖ',
|
||||
'peepers':'ಠಠ',
|
||||
'judgemental':'{ಠʖಠ}',
|
||||
}
|
||||
|
||||
|
||||
class UnicodeEmoji(callbacks.Plugin):
|
||||
"""A growing set of Unicode Emojis"""
|
||||
|
||||
def e(self, irc, msg, args, emote):
|
||||
"""<emote>
|
||||
|
||||
Prints the Unicode emoji as listed here https://gist.github.com/mogad0n/476c3880dc0e0a059ed03efa265e50f7
|
||||
"""
|
||||
|
||||
re = emoji[emote]
|
||||
irc.reply('%s' % re, msg=msg, prefixNick=False )
|
||||
|
||||
e = wrap(e, ['text'])
|
||||
|
||||
|
||||
Class = UnicodeEmoji
|
||||
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
38
test.py
Normal file
38
test.py
Normal file
@ -0,0 +1,38 @@
|
||||
###
|
||||
# Copyright (c) 2020, mogad0n
|
||||
# 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.test import *
|
||||
|
||||
|
||||
class UnicodeEmojiTestCase(PluginTestCase):
|
||||
plugins = ('UnicodeEmoji',)
|
||||
|
||||
|
||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
Loading…
Reference in New Issue
Block a user