shmsanhafzqaydbdhalwly commited on
Commit
6d8d977
·
verified ·
1 Parent(s): f855780

Create README.md

Browse files

from telethon import TelegramClient, events, Button, utils
from telethon.sessions import StringSession
import datetime
import html
import asyncio
import os
from flask import Flask
import threading

api_id = 30180739
api_hash = "171ad9339f1a635c39f2225e79d4a434"

# 🟢 ( Hafedh781887)
ALERT_TARGET =

جد (Session String)Hugging Face
session_string = os.environ.get("SESSION_STRING", "")


KEYWORDS = ["يساعدني", "يحل", "يحِل", "ابغى", "يسوي, "أبغى", يساعد"]

(Userbot)
client = TelegramClient(StringSession(session_string) if session_string else None, api_id, api_hash)

def contains_keyword(text: str) -> bool:
if not text:
return False
t = text.lower()
return any(kw.lower() in t for kw in KEYWORDS)

def build_chat_link(chat, chat_id, message_id):
if getattr(chat, "username", None):
return f"https://t.me/{chat.username}/{message_id}"
try:
s = str(chat_id)
if s.startswith("-100"):
short = s[4:]
return f"https://t.me/c/{short}/{message_id}"
except Exception:
pass
return None

@client .on(events.NewMessage(incoming=True))
async def handler(event):
try:
text = event.message.message or ""
if not text or not contains_keyword(text):
return

chat = await event.get_chat()
sender = await event.get_sender()

sender_name = utils.get_display_name(sender) if sender else "مجهول"
if sender and getattr(sender, "username", None):
sender_user_field = f"@{sender.username}"
sender_link = f"https://t.me/{sender.username}"
elif sender and getattr(sender, "id", None):
sender_user_field = f"{sender_name}"
sender_link = f"tg://user?id={sender.id}"
else:
sender_user_field = ""
sender_link = None

chat_title = getattr(chat, "title", None) or getattr(chat, "first_name", None) or "المجموعة"
chat_id = event.chat_id
chat_link = build_chat_link(chat, chat_id, event.message.id)

when = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC")

header = (
f"📢 رسالة مهمة:\n\n"
f"👤 المرسل: {html.escape(sender_name)}\n"
f"🔗 يوزر/رابط المرسل: {sender_user_field}\n"
f"🏷️ المجموعة: {html.escape(chat_title)}\n"
f"🔗 رابط الرسالة: {chat_link if chat_link else 'لا يمكن توليد رابط عام'}\n\n"
f"🕒 الوقت: {when}\n\n"
f"— الرسالة الأصلية ستأتي بعد هذه الملاحظة —"
)

buttons = []
if chat_link:
buttons.append([Button.url("🔗 الانتقال إلى الرسالة", chat_link)])

await client.send_message(ALERT_TARGET, header, buttons=buttons)

try:
await client.forward_messages(ALERT_TARGET, event.message)
except Exception:
await client.send_message(ALERT_TARGET, "💬 (لم أستطع إعادة توجيه الرسالة — أدرج النص أدناه):\n\n" + text)

except Exception as e:
print("Error handling message:", repr(e))

Hugging Face
app = Flask(__name__)

@app .route("/")
def home():
return "Userbot is running perfectly on Hugging Face!"

def run_flask_app():
app.run(host="0.0.0.0", port=7860)

async def main():
flask_thread = threading.Thread(target=run_flask_app)
flask_thread.daemon = True
flask_thread.start()

print("Connecting to Telegram...")
await client.start()
print("Userbot started — listening...")
await client.run_until_disconnected()

if __name__ == '__main__':
try:
asyncio.run(main())
except KeyboardInterrupt:
pass

Files changed (1) hide show
  1. README.md +0 -0
README.md ADDED
File without changes