forked from LimnoriaPlugins/UnicodeEmoji
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