main
  1#!/usr/bin/env python
  2# -*- coding: utf-8 -*-
  3import re
  4
  5# From: https://github.com/Rongronggg9/RSS-to-Telegram-Bot/blob/84ce41fd31819d83e146507d50a95e28a5b58afe/src/parsing/weibo_emojify_map.py
  6COMMON = {
  7    "[ๅพฎ็ฌ‘]": "๐Ÿ™‚",
  8    "[ๅฏ็ˆฑ]": "๐Ÿ˜Š",
  9    "[ๅคชๅผ€ๅฟƒ]": "๐Ÿ˜†",
 10    "[้ผ“ๆŽŒ]": "๐Ÿ‘",
 11    "[ๅ˜ปๅ˜ป]": "๐Ÿ˜",
 12    "[ๅ“ˆๅ“ˆ]": "๐Ÿ˜„",
 13    "[็ฌ‘cry]": "๐Ÿ˜‚",
 14    "[ๆŒค็œผ]": "๐Ÿ˜œ",
 15    "[้ฆ‹ๅ˜ด]": "๐Ÿ˜‹",
 16    "[้ป‘็บฟ]": "๐Ÿ˜‘",
 17    "[ๆฑ—]": "๐Ÿ˜“",
 18    "[ๅ“ผ]": "๐Ÿ˜ ",
 19    "[ๆ€’]": "๐Ÿ˜ก",
 20    "[ๅฏๆ€œ]": "๐Ÿฅบ",
 21    "[ๅคฑๆœ›]": "๐Ÿ˜ž",
 22    "[ๆ‚ฒไผค]": "๐Ÿ˜ข",
 23    "[ๆณช]": "๐Ÿ˜ญ",
 24    "[ๅฎณ็พž]": "๐Ÿ˜ณ",
 25    "[็ˆฑไฝ ]": "๐Ÿฅฐ",
 26    "[ไบฒไบฒ]": "๐Ÿ˜š",
 27    "[่‰ฒ]": "๐Ÿ˜",
 28    "[้˜ด้™ฉ]": "๐Ÿ˜",
 29    "[ๅท็ฌ‘]": "๐Ÿคญ",
 30    "[้…ท]": "๐Ÿ˜Ž",
 31    "[ๅนถไธ็ฎ€ๅ•]": "๐Ÿง",
 32    "[ๆ€่€ƒ]": "๐Ÿค”",
 33    "[ๆ™•]": "๐Ÿ˜ต",
 34    "[้ชท้ซ…]": "๐Ÿ’€",
 35    "[ๅ˜˜]": "๐Ÿคซ",
 36    "[้—ญๅ˜ด]": "๐Ÿค",
 37    "[ๅ‚ป็œผ]": "๐Ÿ˜ฎ",
 38    "[ๅƒๆƒŠ]": "๐Ÿ˜ฒ",
 39    "[ๅ]": "๐Ÿคฎ",
 40    "[ๆ„Ÿๅ†’]": "๐Ÿ˜ท",
 41    "[็”Ÿ็—…]": "๐Ÿค’",
 42    "[ๆ‹œๆ‹œ]": "๐Ÿ‘‹",
 43    "[้„™่ง†]": "๐Ÿ–•",
 44    "[็™ฝ็œผ]": "๐Ÿ™„",
 45    "[ๆŠ“็‹‚]": "๐Ÿ˜–",
 46    "[ๆ€’้ช‚]": "๐Ÿคฌ",
 47    "[้’ฑ]": "๐Ÿค‘",
 48    "[ๅ“ˆๆฌ ]": "๐Ÿฅฑ",
 49    "[ๅ›ฐ]": "๐Ÿ˜ด",
 50    "[็ก]": "๐Ÿ˜ช",
 51    "[ๅƒ็“œ]": "๐Ÿ‰",
 52    "[้…ธ]": "๐Ÿ‹",
 53    "[ๅ–ตๅ–ต]": "๐Ÿฑ",
 54    "[ๆŠฑๆŠฑ]": "๐Ÿค—",
 55    "[ๆ‘Šๆ‰‹]": "๐Ÿคท",
 56    "[่ทชไบ†]": "๐ŸงŽ",
 57    "[้ฒœ่Šฑ]": "๐ŸŒน",
 58    "[็ป™ไฝ ๅฐๅฟƒๅฟƒ]": "๐Ÿ’",
 59    "[ๅฟƒ]": "โค",
 60    "[ไผคๅฟƒ]": "๐Ÿ’”",
 61    "[ๆกๆ‰‹]": "๐Ÿค",
 62    "[่ตž]": "๐Ÿ‘",
 63    "[good]": "๐Ÿ‘",
 64    "[ๅผฑ]": "๐Ÿ‘Ž",
 65    "[NO]": "โœ‹",
 66    "[่€ถ]": "โœŒ",
 67    "[ๆ‹ณๅคด]": "โœŠ",
 68    "[ok]": "๐Ÿ‘Œ",
 69    "[ๅŠ ๆฒน]": "๐Ÿ’ช",
 70    "[haha]": "๐ŸคŸ",
 71    "[็†Š็Œซ]": "๐Ÿผ",
 72    "[ๅ…”ๅญ]": "๐Ÿฐ",
 73    "[็Œชๅคด]": "๐Ÿท",
 74    "[ๅคช้˜ณ]": "๐ŸŒž",
 75    "[ๆœˆไบฎ]": "๐ŸŒ™",
 76    "[ๆตฎไบ‘]": "โ˜",
 77    "[ไธ‹้›จ]": "๐ŸŒง",
 78    "[ๅพฎ้ฃŽ]": "๐Ÿƒ",
 79    "[ๅ›ด่ง‚]": "๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ",
 80    "[้ฃžๆœบ]": "โœˆ",
 81    "[็…ง็›ธๆœบ]": "๐Ÿ“ท",
 82    "[่ฏ็ญ’]": "๐ŸŽ™",
 83    "[่œก็ƒ›]": "๐Ÿ•ฏ",
 84    "[้Ÿณไน]": "๐ŸŽต",
 85    "[ๅฏไน]": "๐Ÿฅค",
 86    "[ๅนฒๆฏ]": "๐Ÿป",
 87    "[่›‹็ณ•]": "๐ŸŽ‚",
 88    "[็คผ็‰ฉ]": "๐ŸŽ",
 89    "[้’Ÿ]": "โฐ",
 90    "[่‚ฅ็š‚]": "๐Ÿงผ",
 91    "[็ปฟไธๅธฆ]": "๐ŸŽ—",
 92    "[ๅ›ด่„–]": "๐Ÿงฃ",
 93    "[ๅœฃ่ฏž่€ไบบ]": "๐ŸŽ…",
 94    "[ๆ–‡ๆ˜Ž้›็‹—]": "๐Ÿ•",
 95    "[ๆœ€ๅณ]": " โ†’_โ†’ ",
 96    "[ไบ”ไปๆœˆ้ฅผ]": "๐Ÿฅฎ",
 97    "[ๅผ—่Žฑ่ง้’ฑ็œผๅผ€]": "๐Ÿค‘",
 98    "[ๆฃ’ๆฃ’็ณ–]": "๐Ÿญ",
 99    "[็‚ธ้ธก่…ฟ]": "๐Ÿ—",
100    "[็‚นไบฎๅนณๅฎ‰็ฏ]": "๐Ÿฎ",
101    "[็‚นไบฎๆฉ™่‰ฒ]": "๐Ÿ–",
102    "[็œ‹ๆถจ]": "๐Ÿ“ˆ",
103    "[็œ‹่ทŒ]": "๐Ÿ“‰",
104    "[ๆ˜Ÿๆ˜Ÿ]": "โญ",
105    "[็ฉบๆ˜Ÿ]": "โ˜…",
106    "[ๅ…จๅฎถ็ฆ]": "๐Ÿ‘ช",
107    "[ๅœ†ๆœˆ]": "๐ŸŒ•",
108    # customization
109    "[ๅคง็ฌ‘]": "๐Ÿ˜†",
110}
111
112XHS = {
113    "[้›ถR]": "0๏ธโƒฃ",
114    "[ไธ€R]": "1๏ธโƒฃ",
115    "[ไบŒR]": "2๏ธโƒฃ",
116    "[ไธ‰R]": "3๏ธโƒฃ",
117    "[ๅ››R]": "4๏ธโƒฃ",
118    "[ไบ”R]": "5๏ธโƒฃ",
119    "[ๅ…ญR]": "6๏ธโƒฃ",
120    "[ไธƒR]": "7๏ธโƒฃ",
121    "[ๅ…ซR]": "8๏ธโƒฃ",
122    "[ไนR]": "9๏ธโƒฃ",
123    "[่ƒŒๅŒ…R]": "๐Ÿ˜",
124    "[ๆปกๆœˆR]": "๐Ÿ˜",
125    "[็”Ÿๆฐ”R]": "๐Ÿ˜ก",
126    "[ๅคฑๆœ›R]": "๐Ÿ˜ž",
127    "[ๆŠ“็‹‚R]": "๐Ÿ˜–",
128    "[่Œ่Œๅ“’R]": "๐Ÿ˜Š",
129    "[็บข่‰ฒๅฟƒๅฝขR]": "โค",
130    "[็ˆ†็‚ธR]": "๐Ÿ’ฅ",
131    "[็‚ธๅผนR]": "๐Ÿ’ฃ",
132}
133
134DOUYIN = {
135    "[่‹ฆๆถฉ]": "๐Ÿ˜ญ",
136    "[doge]": "๐Ÿถ",
137    "[ๆŒ–้ผป]": "๐Ÿ‘ƒ",
138    "[ๆณช]": "๐Ÿ˜ญ",
139    "[็œผๅซ็ƒญๆณช]": "๐Ÿฅบ",
140    "[ๅ‘ฒ็‰™]": "๐Ÿ˜",
141    "[็Žซ็‘ฐ]": "๐ŸŒน",
142    "[ไธ€่ตทๅŠ ๆฒน]": "๐Ÿ’ช",
143    "[ๆฏ”ๅฟƒ]": "๐Ÿ’–",
144    "[็œ‹]": "๐Ÿถ",
145    "[ๅฎ•ๆœบ]": "๐Ÿ˜ง",
146    "[ๆ‚่„ธ]": "๐Ÿคฆ",
147    "[ๆณชๅฅ”]": "๐Ÿ˜ญ",
148    "[ๅฐฌ็ฌ‘]": "๐Ÿ˜…",
149    "[ๆŠฑไธ€ๆŠฑ]": "๐Ÿค—",
150    "[ๆ‰“call]": "๐Ÿ‘",
151    "[ๅ“‡]": "๐Ÿฅฐ",
152}
153BILIBILI = {"[็ฌ‘ๅ“ญ]": "๐Ÿคฆ"}
154
155CURRENCY = {
156    "AED": "๐Ÿ‡ฆ๐Ÿ‡ช",
157    "AFN": "๐Ÿ‡ฆ๐Ÿ‡ซ",
158    "ALL": "๐Ÿ‡ฆ๐Ÿ‡ฑ",
159    "AMD": "๐Ÿ‡ฆ๐Ÿ‡ฒ",
160    "ANG": "๐Ÿ‡ณ๐Ÿ‡ฑ",
161    "AOA": "๐Ÿ‡ฆ๐Ÿ‡ด",
162    "ARS": "๐Ÿ‡ฆ๐Ÿ‡ท",
163    "AUD": "๐Ÿ‡ฆ๐Ÿ‡บ",
164    "AWG": "๐Ÿ‡ฆ๐Ÿ‡ผ",
165    "AZN": "๐Ÿ‡ฆ๐Ÿ‡ฟ",
166    "BAM": "๐Ÿ‡ง๐Ÿ‡ฆ",
167    "BBD": "๐Ÿ‡ง๐Ÿ‡ง",
168    "BDT": "๐Ÿ‡ง๐Ÿ‡ฉ",
169    "BGN": "๐Ÿ‡ง๐Ÿ‡ฌ",
170    "BHD": "๐Ÿ‡ง๐Ÿ‡ญ",
171    "BIF": "๐Ÿ‡ง๐Ÿ‡ฎ",
172    "BMD": "๐Ÿ‡ง๐Ÿ‡ฒ",
173    "BND": "๐Ÿ‡ง๐Ÿ‡ณ",
174    "BOB": "๐Ÿ‡ง๐Ÿ‡ด",
175    "BRL": "๐Ÿ‡ง๐Ÿ‡ท",
176    "BSD": "๐Ÿ‡ง๐Ÿ‡ธ",
177    "BTN": "๐Ÿ‡ง๐Ÿ‡น",
178    "BWP": "๐Ÿ‡ง๐Ÿ‡ผ",
179    "BYN": "๐Ÿ‡ง๐Ÿ‡พ",
180    "BYR": "๐Ÿ‡ง๐Ÿ‡พ",
181    "BZD": "๐Ÿ‡ง๐Ÿ‡ฟ",
182    "CAD": "๐Ÿ‡จ๐Ÿ‡ฆ",
183    "CDF": "๐Ÿ‡จ๐Ÿ‡ฉ",
184    "CHF": "๐Ÿ‡จ๐Ÿ‡ญ",
185    "CLF": "๐Ÿ‡จ๐Ÿ‡ฑ",
186    "CLP": "๐Ÿ‡จ๐Ÿ‡ฑ",
187    "CNY": "๐Ÿ‡จ๐Ÿ‡ณ",
188    "COP": "๐Ÿ‡จ๐Ÿ‡ด",
189    "CRC": "๐Ÿ‡จ๐Ÿ‡ท",
190    "CUC": "๐Ÿ‡จ๐Ÿ‡บ",
191    "CUP": "๐Ÿ‡จ๐Ÿ‡บ",
192    "CVE": "๐Ÿ‡จ๐Ÿ‡ป",
193    "CZK": "๐Ÿ‡จ๐Ÿ‡ฟ",
194    "DJF": "๐Ÿ‡ฉ๐Ÿ‡ฏ",
195    "DKK": "๐Ÿ‡ฉ๐Ÿ‡ฐ",
196    "DOP": "๐Ÿ‡ฉ๐Ÿ‡ด",
197    "DZD": "๐Ÿ‡ฉ๐Ÿ‡ฟ",
198    "EGP": "๐Ÿ‡ช๐Ÿ‡ฌ",
199    "ERN": "๐Ÿ‡ช๐Ÿ‡ท",
200    "ETB": "๐Ÿ‡ช๐Ÿ‡น",
201    "EUR": "๐Ÿ‡ช๐Ÿ‡บ",
202    "FJD": "๐Ÿ‡ซ๐Ÿ‡ฏ",
203    "FKP": "๐Ÿ‡ซ๐Ÿ‡ฐ",
204    "GBP": "๐Ÿ‡ฌ๐Ÿ‡ง",
205    "GEL": "๐Ÿ‡ฌ๐Ÿ‡ช",
206    "GHS": "๐Ÿ‡ฌ๐Ÿ‡ญ",
207    "GIP": "๐Ÿ‡ฌ๐Ÿ‡ฎ",
208    "GMD": "๐Ÿ‡ฌ๐Ÿ‡ฒ",
209    "GNF": "๐Ÿ‡ฌ๐Ÿ‡ณ",
210    "GTQ": "๐Ÿ‡ฌ๐Ÿ‡น",
211    "GYD": "๐Ÿ‡ฌ๐Ÿ‡พ",
212    "HKD": "๐Ÿ‡ญ๐Ÿ‡ฐ",
213    "HNL": "๐Ÿ‡ญ๐Ÿ‡ณ",
214    "HRK": "๐Ÿ‡ญ๐Ÿ‡ท",
215    "HTG": "๐Ÿ‡ญ๐Ÿ‡น",
216    "HUF": "๐Ÿ‡ญ๐Ÿ‡บ",
217    "IDR": "๐Ÿ‡ฎ๐Ÿ‡ฉ",
218    "ILS": "๐Ÿ‡ฎ๐Ÿ‡ฑ",
219    "INR": "๐Ÿ‡ฎ๐Ÿ‡ณ",
220    "IQD": "๐Ÿ‡ฎ๐Ÿ‡ถ",
221    "IRR": "๐Ÿ‡ฎ๐Ÿ‡ท",
222    "ISK": "๐Ÿ‡ฎ๐Ÿ‡ธ",
223    "JMD": "๐Ÿ‡ฏ๐Ÿ‡ฒ",
224    "JOD": "๐Ÿ‡ฏ๐Ÿ‡ด",
225    "JPY": "๐Ÿ‡ฏ๐Ÿ‡ต",
226    "KES": "๐Ÿ‡ฐ๐Ÿ‡ช",
227    "KGS": "๐Ÿ‡ฐ๐Ÿ‡ฌ",
228    "KHR": "๐Ÿ‡ฐ๐Ÿ‡ญ",
229    "KMF": "๐Ÿ‡ฐ๐Ÿ‡ฒ",
230    "KPW": "๐Ÿ‡ฐ๐Ÿ‡ต",
231    "KRW": "๐Ÿ‡ฐ๐Ÿ‡ท",
232    "KWD": "๐Ÿ‡ฐ๐Ÿ‡ผ",
233    "KYD": "๐Ÿ‡ฐ๐Ÿ‡พ",
234    "KZT": "๐Ÿ‡ฐ๐Ÿ‡ฟ",
235    "LAK": "๐Ÿ‡ฑ๐Ÿ‡ฆ",
236    "LBP": "๐Ÿ‡ฑ๐Ÿ‡ง",
237    "LKR": "๐Ÿ‡ฑ๐Ÿ‡ฐ",
238    "LRD": "๐Ÿ‡ฑ๐Ÿ‡ท",
239    "LSL": "๐Ÿ‡ฑ๐Ÿ‡ธ",
240    "LTL": "๐Ÿ‡ฑ๐Ÿ‡น",
241    "LVL": "๐Ÿ‡ฑ๐Ÿ‡ป",
242    "LYD": "๐Ÿ‡ฑ๐Ÿ‡พ",
243    "MAD": "๐Ÿ‡ฒ๐Ÿ‡ฆ",
244    "MDL": "๐Ÿ‡ฒ๐Ÿ‡ฉ",
245    "MGA": "๐Ÿ‡ฒ๐Ÿ‡ฌ",
246    "MKD": "๐Ÿ‡ฒ๐Ÿ‡ฐ",
247    "MMK": "๐Ÿ‡ฒ๐Ÿ‡ฒ",
248    "MNT": "๐Ÿ‡ฒ๐Ÿ‡ณ",
249    "MOP": "๐Ÿ‡ฒ๐Ÿ‡ด",
250    "MRO": "๐Ÿ‡ฒ๐Ÿ‡ท",
251    "MUR": "๐Ÿ‡ฒ๐Ÿ‡บ",
252    "MVR": "๐Ÿ‡ฒ๐Ÿ‡ป",
253    "MWK": "๐Ÿ‡ฒ๐Ÿ‡ผ",
254    "MXN": "๐Ÿ‡ฒ๐Ÿ‡ฝ",
255    "MYR": "๐Ÿ‡ฒ๐Ÿ‡พ",
256    "MZN": "๐Ÿ‡ฒ๐Ÿ‡ฟ",
257    "NAD": "๐Ÿ‡ณ๐Ÿ‡ฆ",
258    "NGN": "๐Ÿ‡ณ๐Ÿ‡ฌ",
259    "NIO": "๐Ÿ‡ณ๐Ÿ‡ฎ",
260    "NOK": "๐Ÿ‡ณ๐Ÿ‡ด",
261    "NPR": "๐Ÿ‡ณ๐Ÿ‡ต",
262    "NZD": "๐Ÿ‡ณ๐Ÿ‡ฟ",
263    "OMR": "๐Ÿ‡ด๐Ÿ‡ฒ",
264    "PAB": "๐Ÿ‡ต๐Ÿ‡ฆ",
265    "PEN": "๐Ÿ‡ต๐Ÿ‡ช",
266    "PGK": "๐Ÿ‡ต๐Ÿ‡ฌ",
267    "PHP": "๐Ÿ‡ต๐Ÿ‡ญ",
268    "PKR": "๐Ÿ‡ต๐Ÿ‡ฐ",
269    "PLN": "๐Ÿ‡ต๐Ÿ‡ฑ",
270    "PYG": "๐Ÿ‡ต๐Ÿ‡พ",
271    "QAR": "๐Ÿ‡ถ๐Ÿ‡ฆ",
272    "RON": "๐Ÿ‡ท๐Ÿ‡ด",
273    "RSD": "๐Ÿ‡ท๐Ÿ‡ธ",
274    "RUB": "๐Ÿ‡ท๐Ÿ‡บ",
275    "RWF": "๐Ÿ‡ท๐Ÿ‡ผ",
276    "SAR": "๐Ÿ‡ธ๐Ÿ‡ฆ",
277    "SBD": "๐Ÿ‡ธ๐Ÿ‡ง",
278    "SCR": "๐Ÿ‡ธ๐Ÿ‡จ",
279    "SDG": "๐Ÿ‡ธ๐Ÿ‡ฉ",
280    "SEK": "๐Ÿ‡ธ๐Ÿ‡ช",
281    "SGD": "๐Ÿ‡ธ๐Ÿ‡ฌ",
282    "SHP": "๐Ÿ‡ธ๐Ÿ‡ญ",
283    "SLE": "๐Ÿ‡ธ๐Ÿ‡ฑ",
284    "SLL": "๐Ÿ‡ธ๐Ÿ‡ฑ",
285    "SOS": "๐Ÿ‡ธ๐Ÿ‡ด",
286    "SRD": "๐Ÿ‡ธ๐Ÿ‡ท",
287    "STD": "๐Ÿ‡ธ๐Ÿ‡น",
288    "SYP": "๐Ÿ‡ธ๐Ÿ‡พ",
289    "SZL": "๐Ÿ‡ธ๐Ÿ‡ฟ",
290    "THB": "๐Ÿ‡น๐Ÿ‡ญ",
291    "TJS": "๐Ÿ‡น๐Ÿ‡ฏ",
292    "TMT": "๐Ÿ‡น๐Ÿ‡ฒ",
293    "TND": "๐Ÿ‡น๐Ÿ‡ณ",
294    "TOP": "๐Ÿ‡น๐Ÿ‡ด",
295    "TRY": "๐Ÿ‡น๐Ÿ‡ท",
296    "TTD": "๐Ÿ‡น๐Ÿ‡น",
297    "TWD": "๐Ÿ‡น๐Ÿ‡ผ",
298    "TZS": "๐Ÿ‡น๐Ÿ‡ฟ",
299    "UAH": "๐Ÿ‡บ๐Ÿ‡ฆ",
300    "UGX": "๐Ÿ‡บ๐Ÿ‡ฌ",
301    "USD": "๐Ÿ‡บ๐Ÿ‡ธ",
302    "UYU": "๐Ÿ‡บ๐Ÿ‡พ",
303    "UZS": "๐Ÿ‡บ๐Ÿ‡ฟ",
304    "VEF": "๐Ÿ‡ป๐Ÿ‡ช",
305    "VES": "๐Ÿ‡ป๐Ÿ‡ช",
306    "VND": "๐Ÿ‡ป๐Ÿ‡ณ",
307    "VUV": "๐Ÿ‡ป๐Ÿ‡บ",
308    "WST": "๐Ÿ‡ผ๐Ÿ‡ธ",
309    "XAF": "๐Ÿ‡จ๐Ÿ‡ฒ",
310    "XCD": "๐Ÿ‡ฆ๐Ÿ‡ฎ",
311    "XOF": "๐Ÿ‡ง๐Ÿ‡ฏ",
312    "XPF": "๐Ÿ‡ต๐Ÿ‡ซ",
313    "YER": "๐Ÿ‡พ๐Ÿ‡ช",
314    "ZAR": "๐Ÿ‡ฟ๐Ÿ‡ฆ",
315    "ZMW": "๐Ÿ‡ฟ๐Ÿ‡ฒ",
316    "ZWL": "๐Ÿ‡ฟ๐Ÿ‡ผ",
317}
318
319CTYPE_EMOJI = {
320    "BOT": "๐Ÿค–",
321    "GROUP": "๐Ÿ‘ฅ",
322    "SUPERGROUP": "๐Ÿ‘ฅ",
323    "CHANNEL": "๐Ÿ“ข",
324    "PRIVATE": "๐Ÿ‘ค",
325}
326MTYPE_EMOJI = {
327    "text": "๐Ÿ”ค",
328    "audio": "๐ŸŽง",
329    "document": "๐Ÿ“”",
330    "photo": "๐Ÿž",
331    "sticker": "๐ŸŽจ",
332    "video": "๐ŸŽฌ",
333    "video_note": "๐ŸŽฅ",
334    "animation": "โœจ",
335    "voice": "๐ŸŽค",
336    "web_page": "๐ŸŒ",
337}
338
339
340def emojify(text: str, platform: str = "all") -> str:
341    """Replace the text emojis with actual emojis.
342
343    [ๅพฎ็ฌ‘]Hello[็ˆฑไฝ ] -> ๐Ÿ™‚Hello๐Ÿฅฐ
344    """
345    if platform == "all":
346        EMOJI_MAP = COMMON | BILIBILI | XHS | DOUYIN
347    elif platform == "xhs":
348        EMOJI_MAP = COMMON | XHS
349    elif platform == "douyin":
350        EMOJI_MAP = COMMON | DOUYIN
351    elif platform == "bilibili":
352        EMOJI_MAP = COMMON | BILIBILI
353    else:
354        EMOJI_MAP = COMMON
355    pattern = re.compile("|".join(re.escape(k) for k in EMOJI_MAP))
356
357    return pattern.sub(lambda match: EMOJI_MAP[match.group(0)], text)
358
359
360if __name__ == "__main__":
361    text = "[ๅพฎ็ฌ‘]Hello[็ˆฑไฝ ]"
362    print(emojify(text))