1 # irgramd: IRC-Telegram gateway 2 # emoji2emoticon.py: UTF-8 Emoji to ASCII emoticon replacement 3 # 4 # (C) Copyright 2019,2023 E. Bosch <presidev@AT@gmail.com> 5 # 6 # Use of this source code is governed by a MIT style license that 7 # can be found in the LICENSE file included in this project. 8 9 emo = { 10 '\U0000270c': '"V"', 11 '\U00002764': '"<3"', 12 '\U0001f389': '"<*``"', 13 '\U0001f44c': '"ok"', 14 '\U0001f44d': '"+1"', 15 '\U0001f44e': '"-1"', 16 '\U0001f44f': '"m_m"', 17 '\U0001f525': '"\^^^/"', 18 '\U0001f600': '":D"', 19 '\U0001f601': '"xD"', 20 '\U0001f602': '"x_D"', 21 '\U0001f603': '":D"', 22 '\U0001f604': '"xD"', 23 '\U0001f605': '"x`D"', 24 '\U0001f606': '"xD"', 25 '\U0001f607': '"O:)"', 26 '\U0001f608': '"}:)"', 27 '\U0001f609': '";)"', 28 '\U0001f60a': '"x)"', 29 '\U0001f60b': '"xP"', 30 '\U0001f60c': '":)"', 31 '\U0001f60d': '"E>)"', 32 '\U0001f60e': '"B)"', 33 '\U0001f60f': '"- -,"', 34 '\U0001f610': '":|"', 35 '\U0001f611': '":|"', 36 '\U0001f612': '"-. -."', 37 '\U0001f613': '":`|"', 38 '\U0001f614': '":|"', 39 '\U0001f615': '":/"', 40 '\U0001f616': '":S"', 41 '\U0001f617': '":*"', 42 '\U0001f618': '":**"', 43 '\U0001f619': '"x*"', 44 '\U0001f61a': '"x*"', 45 '\U0001f61b': '":P"', 46 '\U0001f61c': '";P"', 47 '\U0001f61d': '"xP"', 48 '\U0001f61e': '":("', 49 '\U0001f61f': '":(("', 50 '\U0001f620': '":("', 51 '\U0001f621': '":("', 52 '\U0001f622': '":_("', 53 '\U0001f623': '"x("', 54 '\U0001f624': '":<("', 55 '\U0001f625': '":`("', 56 '\U0001f626': '":(|"', 57 '\U0001f627': '":(||"', 58 '\U0001f628': '"||:("', 59 '\U0001f629': '"::("', 60 '\U0001f62a': '":`("', 61 '\U0001f62b': '"x("', 62 '\U0001f62c': '":E"', 63 '\U0001f62d': '":__(|"', 64 '\U0001f62e': '":O"', 65 '\U0001f62f': '":o"', 66 '\U0001f630': '":`O"', 67 '\U0001f631': '":O>"', 68 '\U0001f632': '"8-O"', 69 '\U0001f633': '":8|"', 70 '\U0001f634': '":.zz"', 71 '\U0001f635': '"6)"', 72 '\U0001f636': '":"', 73 '\U0001f637': '":W"', 74 '\U0001f638': '">:D"', 75 '\U0001f639': '":_D"', 76 '\U0001f63a': '">:D"', 77 '\U0001f63b': '">E>D"', 78 '\U0001f63c': '">- -,"', 79 '\U0001f63d': '">:*"', 80 '\U0001f63e': '">:("', 81 '\U0001f63f': '">:_("', 82 '\U0001f640': '">:(|"', 83 '\U0001f641': '":("', 84 '\U0001f642': '":)"', 85 '\U0001f643': '"(:"', 86 '\U0001f644': '"o o,"', 87 '\U0001f914': '":-L"', 88 '\U0001f92b': '":-o-m"', 89 '\U0001f970': '":)e>"', 90 } 91 92 emo_inv = { '-': None } 93 for k in reversed(emo): 94 emo_inv[emo[k][1:-1]] = k 95 96 def replace_mult(line, emo): 97 for utf_emo in emo: 98 if utf_emo in line: 99 line = line.replace(utf_emo, emo[utf_emo]) 100 return line