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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 mogad0n
						mogad0n