227e5fda27
- S113: Add timeout=10 to all requests calls (74 fixes) - E722: Replace bare except: with except Exception: - B904: Replace redundant re-raise with bare raise - E402: Add noqa for intentional late imports after import_library() - S102/S307/S310/S311/S603/S605/S606/S607/S108: Add noqa for intentional usage - F601: Fix duplicate dict key in unsplash.py - N802: Rename ReplyCheck -> reply_check with backward compat alias - N813: Rename bs -> BS in icons.py - B007/B020: Rename loop var _j in animations.py - SIM102: Collapse nested if in autofwd.py - SIM113: Use enumerate() in calculator.py - A002: Add noqa for builtin shadowing in admlist.py - F811: Add noqa for cohere redefinition - edu_master: Fix ARG001, S108, S110, SIM117, apply --unsafe-fixes - Add modules_list.txt with full module inventory
48 lines
2.0 KiB
Python
48 lines
2.0 KiB
Python
import base64
|
|
|
|
import requests
|
|
from pyrogram import Client, filters
|
|
from pyrogram.types import Message
|
|
from utils.misc import modules_help, prefix
|
|
|
|
|
|
@Client.on_message(filters.command(['imgur'], prefix) & filters.me)
|
|
async def imgur(_, message: Message):
|
|
# Check if a reply exists
|
|
msg = await message.edit_text('🎉 Please wait. trying to upload...')
|
|
if message.reply_to_message and message.reply_to_message.photo:
|
|
# Download the photo
|
|
photo_path = await message.reply_to_message.download()
|
|
# Read the photo file and encode as base64
|
|
with open(photo_path, 'rb') as file:
|
|
data = file.read()
|
|
base64_data = base64.b64encode(data)
|
|
# Set API endpoint and headers for image upload
|
|
url = 'https://api.imgur.com/3/image'
|
|
headers = {'Authorization': 'Client-ID a10ad04550b0648'}
|
|
# Upload image to Imgur and get URL
|
|
response = requests.post(url, headers=headers, data={'image': base64_data}, timeout=10)
|
|
result = response.json()
|
|
await msg.edit_text(result['data']['link'])
|
|
elif message.reply_to_message and message.reply_to_message.animation:
|
|
# Download the animation (GIF)
|
|
animation_path = await message.reply_to_message.download()
|
|
# Read the animation file and encode as base64
|
|
with open(animation_path, 'rb') as file:
|
|
data = file.read()
|
|
base64_data = base64.b64encode(data)
|
|
# Set API endpoint and headers for animation upload
|
|
url = 'https://api.imgur.com/3/image'
|
|
headers = {'Authorization': 'Client-ID a10ad04550b0648'}
|
|
# Upload animation to Imgur and get URL
|
|
response = requests.post(url, headers=headers, data={'image': base64_data}, timeout=10)
|
|
result = response.json()
|
|
await msg.edit_text(result['data']['link'])
|
|
else:
|
|
await msg.edit_text('Please reply to a photo or animation (GIF) to upload to Imgur.')
|
|
|
|
|
|
modules_help['imgur'] = {
|
|
'imgur [img]*': 'upload a photo or animation (GIF) to imgur',
|
|
}
|