Mercurial > traipse
comparison plugins/xxsmiley.py @ 0:4385a7d0efd1 grumpy-goblin
Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
author | sirebral |
---|---|
date | Tue, 14 Jul 2009 16:41:58 -0500 |
parents | |
children | 97265586402b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4385a7d0efd1 |
---|---|
1 import os | |
2 import orpg.pluginhandler | |
3 import orpg.dirpath | |
4 | |
5 class Plugin(orpg.pluginhandler.PluginHandler): | |
6 # Initialization subroutine. | |
7 # | |
8 # !self : instance of self | |
9 # !chat : instance of the chat window to write to | |
10 def __init__(self, plugindb, parent): | |
11 orpg.pluginhandler.PluginHandler.__init__(self, plugindb, parent) | |
12 | |
13 # The Following code should be edited to contain the proper information | |
14 self.name = 'Smilies!' | |
15 self.author = 'mDuo13' | |
16 self.help = "This plugin turns text smilies like >=) or :D into images. There are 15\n" | |
17 self.help += "images. Also, you can type '/smiley' to get a list of what emoticons are\n" | |
18 self.help += "converted to what images." | |
19 | |
20 self.smileylist = {} | |
21 | |
22 def plugin_enabled(self): | |
23 #This is where you set any variables that need to be initalized when your plugin starts | |
24 | |
25 self.plugin_addcommand('/smiley', self.on_smiley, '- [add|remove|help] The Smiley command') | |
26 | |
27 smlist = { | |
28 '>:-(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley7.gif" /> ', | |
29 ':/' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley5.gif" /> ', | |
30 ':|' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley6.gif" /> ', | |
31 ':(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley9.gif" /> ', | |
32 ' />:(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley7.gif" /> ', | |
33 ' />=(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley7.gif" /> ', | |
34 '=)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley0.gif" /> ', | |
35 '=D' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley1.gif" /> ', | |
36 ';)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley3.gif" /> ', | |
37 '=/' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley5.gif" /> ', | |
38 '=|' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley6.gif" /> ', | |
39 '=(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley9.gif" /> ', | |
40 ':)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley0.gif" /> ', | |
41 ':D' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley1.gif" /> ', | |
42 'B)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley2.gif" /> ', | |
43 ':p' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley4.gif" /> ', | |
44 '=\\' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley5.gif" /> ', | |
45 ':P' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley4.gif" /> ', | |
46 '=P' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley4.gif" /> ', | |
47 '^_^' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
48 '^-^' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
49 '^.^' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
50 'n_n' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
51 'n.n' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
52 'n,n' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley12.gif" /> ', | |
53 'I-)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley13.gif" /> ', | |
54 'n.n;' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley14.gif" /> ', | |
55 'n.n;;' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley14.gif" /> ', | |
56 'n_n;' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley14.gif" /> ', | |
57 ':-)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley0.gif" /> ', | |
58 ':-D' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley1.gif" /> ', | |
59 ':-P' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley2.gif" /> ', | |
60 ':-p' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley4.gif" /> ', | |
61 ':-/' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley5.gif" /> ', | |
62 ':-|' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley6.gif" /> ', | |
63 ':-(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley9.gif" /> ', | |
64 ':-\\' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/smiley5.gif" /> ', | |
65 '-)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_smile.gif" /> ', | |
66 ';-)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_wink.gif" /> ', | |
67 ':->' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_smile2.gif" /> ', | |
68 ':-D' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_biggrin.gif" /> ', | |
69 ':-P' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_razz.gif" /> ', | |
70 ':-o' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_surprised.gif" /> ', | |
71 ':mrgreen:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_mrgreen.gif" /> ', | |
72 ':lol:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_lol.gif" /> ', | |
73 ':-(' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_sad.gif" /> ', | |
74 ':-|' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_neutral.gif" /> ', | |
75 ':-?' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_confused.gif" /> ', | |
76 ':-x' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_mad.gif" /> ', | |
77 ':shock:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_eek.gif" /> ', | |
78 ':cry:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_cry.gif" /> ', | |
79 ';_;' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_cry.gif" /> ', | |
80 ':oops:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_redface.gif" /> ', | |
81 '8-)' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_cool.gif" /> ', | |
82 ':evil:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_evil.gif" /> ', | |
83 ':twisted:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_twisted.gif" /> ', | |
84 ':roll:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_rolleyes.gif" /> ', | |
85 ':!:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_exclaim.gif" /> ', | |
86 ':?:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_question.gif" /> ', | |
87 ':idea:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_idea.gif" /> ', | |
88 ':arrow:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_arrow.gif" /> ', | |
89 ':ubergeek:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_e_ugeek.gif" /> ', | |
90 ':geek:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/icon_e_geek.gif" /> ', | |
91 ':fairy:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/fairy.gif" /> ', | |
92 ':hood:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/hood.gif" /> ', | |
93 ':gnome:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/gnome.gif" /> ', | |
94 ':link:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/link.gif" /> ', | |
95 ':mummy:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/mummy.gif" /> ', | |
96 ':ogre:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/ogre.gif" /> ', | |
97 ':medusa:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/medusa.gif" /> ', | |
98 ':mimic:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/mimic.gif" /> ', | |
99 ':skull:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/skull.gif" /> ', | |
100 ':zombie:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/zombie.gif" /> ', | |
101 ':chocobo:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/chocobo.gif" /> ', | |
102 ':darkside:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/darkside.gif" /> ', | |
103 ':flyingspaghetti:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/flyingspaghetti.gif" /> ', | |
104 ':rupee:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/rupee.gif" /> ', | |
105 ':ros:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/ros.gif" /> ', | |
106 ':skeleton:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/skeleton.gif" /> ', | |
107 ':samurai:' : ' <img src="' + orpg.dirpath.dir_struct['plugins'] + 'images/samurai.gif" /> '} | |
108 | |
109 self.smileylist = self.plugindb.GetDict("xxsmiley", "smileylist", smlist) | |
110 | |
111 def plugin_disabled(self): | |
112 #Here you need to remove any commands you added, and anything else you want to happen when you disable the plugin | |
113 #such as closing windows created by the plugin | |
114 | |
115 self.plugin_removecmd('/smiley') | |
116 self.plugindb.SetDict("xxsmiley", "smileylist", self.smileylist) | |
117 | |
118 def on_smiley(self, cmdargs): | |
119 #this is just an example function for a command you create create your own | |
120 if not len(cmdargs): | |
121 self.chat.InfoPost("Available Smilies:") | |
122 the_list = ' <table border="1">' | |
123 for key in self.smileylist.keys(): | |
124 the_list += ' <tr><td>' + key + ' </td><td>' + self.smileylist[key] + ' </td></tr>' | |
125 the_list += "</table>" | |
126 self.chat.InfoPost(the_list) | |
127 return | |
128 | |
129 args = cmdargs.split(None, -1) | |
130 | |
131 if args[0] == 'add' and len(args) == 3: | |
132 if args[2].find('http') > -1: | |
133 self.smileylist[args[1]] = ' <img src="' + args[2] + '" alt="' + args[1] + '" />' | |
134 else: | |
135 self.smileylist[args[1]] = ' <img src="' + orpg.dirpath.dir_struct["plugins"] + 'images/' + args[2] + '" />' + "\n" | |
136 | |
137 self.chat.InfoPost('Added ' + args[1] + '    :    ' + self.smileylist[args[1]]) | |
138 | |
139 elif args[0] == 'remove' and len(args) == 2: | |
140 if self.smileylist.has_key(args[1]): | |
141 del self.smileylist[args[1]] | |
142 self.chat.InfoPost('Removed ' + args[1]) | |
143 else: | |
144 self.chat.InfoPost(args[1] + ' was not a smiley!') | |
145 | |
146 else: | |
147 self.chat.InfoPost('/smiley - Lists all avaliable smilies') | |
148 self.chat.InfoPost('/smiley add {smiley} {imagefile} - Add a smily to the list. The {smiley} can be any string of text that does not contain a space. The {imagefile} should be an image in the openrpg/plugins/images directory') | |
149 self.chat.InfoPost('/smiley remove {smiley} - Remove {smiley} from the list') | |
150 | |
151 self.plugindb.SetDict("xxsmiley", "smileylist", self.smileylist) | |
152 | |
153 def doSmiley(self, text): | |
154 for key, value in self.smileylist.iteritems(): | |
155 text = text.replace(key, value) | |
156 | |
157 return text | |
158 | |
159 def plugin_incoming_msg(self, text, type, name, player): | |
160 text = self.doSmiley(text) | |
161 | |
162 return text, type, name | |
163 | |
164 def post_msg(self, text, myself): | |
165 if myself: | |
166 text = self.doSmiley(text) | |
167 | |
168 return text |