Spaces:
Running
Running
File size: 2,493 Bytes
d32bbaf fb5dadd d32bbaf fb5dadd 3e96bbe f1c4e52 fb5dadd 3e96bbe fb5dadd d32bbaf fb5dadd d32bbaf f1c4e52 d32bbaf 10fb16c f1c4e52 3e96bbe 10fb16c f1c4e52 10fb16c f1c4e52 d32bbaf 10fb16c f1c4e52 10fb16c f1c4e52 d32bbaf f1c4e52 d32bbaf f1c4e52 10fb16c f1c4e52 |
1 2 3 4 5 6 7 8 9 10 11 12 13 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 64 65 66 67 68 69 70 71 72 |
import gradio as gr
from telethon.sync import TelegramClient, events
import datetime
import socks
import time
proxy_server = '142.93.68.63'
proxy_port = 2434
proxy_secret = 'ee32b920dffb51643028e2f6b878d4eac1666172616b61762e636f6d'
proxy_dc_id = 2 # This is usually 2 for MTProto proxies
#('hostname', port, 'secret')
proxy = (
socks.SOCKS5,
proxy_server,
proxy_port,
True,
'vpn',
'unlimited'
)
api_id = '10086982'
api_hash = '3ed461889a88b31fcbc323d13e43cf7e'
phone = '+963994935356'
# Dictionary to track the times when senders were last replied to
reply_times = {}
async with TelegramClient('anon', api_id, api_hash, proxy=proxy) as client:
@client.on(events.NewMessage())
async def my_event_handler(event):
sender = await event.get_sender()
sender_id = sender.id
sender_name = sender.first_name
chat = await event.get_chat()
chat_id = chat.id
text = event.raw_text
# Timekeeping
checkpoint = datetime.datetime.now()
print(f'Checkpoint: {checkpoint}')
# Personal message
if chat_id == sender_id:
# Check the last reply to this sender
last_reply_time = reply_times.get(sender_id, None)
if last_reply_time is None or time.time() - last_reply_time > 60*15: # reply only if not replied in the last minute
response = f'Hello {sender_name}, I received your message and will reply as soon as possible. Thank you for your understanding.'
await client.send_message(chat_id, response)
reply_times[sender_id] = time.time() # update the last reply time
# Group message
elif '@Mohammed_Alakhras' in text:
last_reply_time = reply_times.get(sender_id, None)
if last_reply_time is None or time.time() - last_reply_time > 60:
response = f'Hello {sender_name}, I received your message and will reply as soon as possible. Thank you for your understanding.'
await client.send_message(chat_id, response)
reply_times[sender_id] = time.time()
await client.run_until_disconnected()
# تعريف حقول النص في Gradio
def main():
pass
# تعريف الواجهة
inputs = []
output = "text"
gr.Interface(fn=main, inputs=inputs, outputs=output).launch()
# Run the main function in the event loop
#client.loop.run_until_complete(main()) |