MohammedAlakhras commited on
Commit
6bd693f
·
1 Parent(s): 835b25f

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import requests
3
+ from PIL import Image
4
+ from io import BytesIO
5
+ from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
6
+ from config import api_key
7
+
8
+ # تعريف الدالة الخاصة برفع الملفات
9
+ def upload_file(update, context):
10
+ # الحصول على رابط الملف من رسالة المستخدم
11
+ file_url = update.message.text.split()[1]
12
+ # جلب الملف من الرابط المحدد
13
+ file = requests.get(file_url)
14
+ # توليد اسم الملف العشوائي
15
+ file_name = str(update.message.from_user.id) + '_' + str(update.message.date.timestamp()) + '_' + str(os.urandom(4).hex()) + '.jpg'
16
+ # حفظ الملف المحمل مؤقتاً
17
+ with open(file_name, 'wb') as f:
18
+ f.write(file.content)
19
+ # توليد صورة مصغرة للملف المحمل
20
+ thumb = Image.open(BytesIO(file.content))
21
+ thumb.thumbnail((128, 128))
22
+ # إرسال الملف والصورة المصغرة إلى المستخدم
23
+ bot.send_photo(chat_id=update.message.chat_id, photo=open(file_name, 'rb'), caption='Uploaded file', reply_to_message_id=update.message.message_id)
24
+ bot.send_photo(chat_id=update.message.chat_id, photo=thumb, caption='Thumbnail', reply_to_message_id=update.message.message_id)
25
+ # حذف الملف المحمل مؤقتاً
26
+ os.remove(file_name)
27
+
28
+ # تعريف الدالة الخاصة بإرسال رسالة استجابة
29
+ def reply_message(update, context ):
30
+ context.bot.send_message(chat_id=update.message.chat_id, text='Please send me a file URL.')
31
+
32
+ # تعريف المتغيرات العامة
33
+ updater = Updater(api_key)
34
+ dispatcher = updater.dispatcher
35
+
36
+ # تعريف معالج الأوامر
37
+ dispatcher.add_handler(CommandHandler('start', reply_message))
38
+ dispatcher.add_handler(CommandHandler('up', upload_file))
39
+
40
+ # تعريف معالج الرسائل
41
+ dispatcher.add_handler(MessageHandler(Filters.text, reply_message))
42
+ dispatcher.add_handler( MessageHandler(Filters.text & ~Filters.command, upload_file))
43
+
44
+ # بدء تشغيل البوت
45
+ updater.start_polling()