1
1
import asyncio
2
2
import subprocess
3
3
import nest_asyncio
4
+ import re
4
5
import json
5
6
import os
6
7
import sqlite3
@@ -1556,6 +1557,10 @@ async def set_language(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
1556
1557
)
1557
1558
1558
1559
1560
+ # Escape Markdown special characters in full_name and username
1561
+ def escape_markdown (text ):
1562
+ return re .sub (r'([_`\[\]()~>#+\-=|{}.!])' , r'\\\1' , text )
1563
+
1559
1564
# Function to welcome new members
1560
1565
async def welcome_new_members (
1561
1566
update : Update , context : ContextTypes .DEFAULT_TYPE
@@ -1567,13 +1572,13 @@ async def welcome_new_members(
1567
1572
1568
1573
now = get_current_time ()
1569
1574
date_time = now .strftime ("%d.%m.%Y %H:%M:%S" )
1570
- username = f"@{ member .username } " if member .username else member .full_name
1575
+ username = f"@{ escape_markdown ( member .username ) } " if member .username else escape_markdown ( member .full_name )
1571
1576
1572
1577
welcome_message = (
1573
- f"\n 🎉 Howdy, **{ member .full_name } **!\n \n "
1578
+ f"\n 🎉 Howdy, **{ escape_markdown ( member .full_name ) } **!\n \n "
1574
1579
"Vielen Dank, dass du diesen **Service** ausgewählt hast ❤️.\n \n "
1575
- f"** Username**: { username } \n "
1576
- f"** Beitritt**: { date_time } \n \n "
1580
+ f"Username: ** { username } ** \n "
1581
+ f"Beitritt: ** { date_time } ** \n \n "
1577
1582
"Wir hoffen, du hast eine gute Unterhaltung mit **StreamNet TV**.\n \n "
1578
1583
"Bei Fragen oder sonstiges einfach in die verschiedenen **Topics** reinschreiben."
1579
1584
)
0 commit comments