❕ دریافت لحظه ای قیمت ارز های دیجیتال و قیمت پول کشور ها
⚪️ این کد کارش اینه که قیمت ارز هارو از وبسرویس میگیره و پیام توی کانال رو ۵ دقیقه یک بار ویرایش میکنه تا قیمت ها بروز بشه ( وبسرویس اول ۲۴ ساعت یک بار دومی ۵ دقیقه یک بار ) با باز کرد وبسرویس تا به صورت دستی میتونید قیمت هارو به صورت لحظه ای هم ببنید
✅ کد مورد نیاز :
from telegram import Bot
from telegram.error import TelegramError
import requests
import asyncio
BOT_TOKEN = ''#توکن
CHANNEL_ID = '' # آیدی عددی کانال
MESSAGE_1_ID = 332 # آیدی پیام دوم
MESSAGE_2_ID = 333 # آیدی پیام اول
bot = Bot(token=BOT_TOKEN)
def fetch_api_1():
url = "https://botx.website/Arz/index.php"
try:
response = requests.get(url)
if response.status_code == 200:
data = response.json().get("result", [])
message = "\n".join([f"{item['tag']} {item['currency']}: {item['price']} تومان" for item in data])
return message
else:
return "خطا در دریافت اطلاعات از API اول"
except Exception as e:
return f"خطا: {str(e)}"
def fetch_api_2():
url = "https://botx.website/Arz/arz.php"
try:
response = requests.get(url)
if response.status_code == 200:
return response.text.strip()
else:
return "خطا در دریافت اطلاعات از API دوم"
except Exception as e:
return f"خطا: {str(e)}"
async def update_message_1():
while True:
try:
content = fetch_api_1()
await bot.edit_message_text(chat_id=CHANNEL_ID, message_id=MESSAGE_1_ID, text=content)
except TelegramError as e:
print(f"خطا در ویرایش پیام اول: {e}")
await asyncio.sleep(24 * 60 * 60)
async def update_message_2():
while True:
try:
content = fetch_api_2()
await bot.edit_message_text(chat_id=CHANNEL_ID, message_id=MESSAGE_2_ID, text=content)
except TelegramError as e:
print(f"خطا در ویرایش پیام دوم: {e}")
await asyncio.sleep(5 * 60)
async def main():
await asyncio.gather(
update_message_1(),
update_message_2(),
)
if name == "main":
asyncio.run(main())
@Star_sourcee