Deutsch

Выгружать SOCKS5 / HTTP Proxys в ТГ канал

15.10.24 18:11
Re: Выгружать SOCKS5 / HTTP Proxys в ТГ канал
 
gendy Dinosaur
gendy

Создание Telegram-бота, который будет регулярно скачивать обновленный CSV файл с веб-страницы и публиковать его в Telegram-канале, можно реализовать с помощью Python и библиотеки

python-telegram-bot
. Вот примерный план и код для реализации:



Шаги для создания бота



1. Создайте бота в Telegram: Используйте BotFather для создания нового бота и получения токена.



2. Установите необходимые библиотеки:

   pip install python-telegram-bot requests schedule



3. Создайте файл

bot.py
и добавьте следующий код:



import os
import requests
import schedule
import time
from telegram import Bot
from telegram.error import TelegramError

# Настройки
TELEGRAM_TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
CHANNEL_ID = '@your_channel_id' # Ваш канал (с @)
CSV_URL = 'http://example.com/path/to/your/file.csv' # URL CSV файла
LOCAL_CSV_FILE = 'file.csv'

bot = Bot(token=TELEGRAM_TOKEN)

def download_csv():
try:
response = requests.get(CSV_URL)
response.raise_for_status() # Проверка на ошибки HTTP
with open(LOCAL_CSV_FILE, 'wb') as file:
file.write(response.content)
print("CSV файл скачан.")
except Exception as e:
print(f"Ошибка при скачивании CSV: {e}")

def send_csv_to_channel():
try:
with open(LOCAL_CSV_FILE, 'rb') as file:
bot.send_document(chat_id=CHANNEL_ID, document=file)
print("CSV файл отправлен в канал.")
except TelegramError as e:
print(f"Ошибка при отправке в канал: {e}")

def job():
download_csv()
send_csv_to_channel()

# Настройка расписания
schedule.every(1).hour.do(job) # Запускать каждый час

if __name__ == '__main__':
while True:
schedule.run_pending()
time.sleep(1)



Настройка



1. Замените

YOUR_TELEGRAM_BOT_TOKEN
на токен вашего бота.



2. Укажите

@your_channel_id
— это должен быть ID вашего канала (не забудьте добавить бота в канал с правами администратора).



3. Замените

CSV_URL
на URL вашего CSV файла.



Запуск бота



Запустите скрипт:



python bot.py



Теперь бот будет скачивать CSV файл каждый час и отправлять его в указанный канал.



Примечания



• Убедитесь, что у вашего бота есть права на отправку сообщений в ваш канал.



• Вы можете изменить частоту выполнения задачи, изменив

schedule.every(1).hour.do(job)
на нужный вам интервал (например,
every(10).minutes
,
every().day.at("10:30")
и т.д.).



• Для работы бота требуется постоянное выполнение скрипта, поэтому лучше всего запускать его на сервере или использовать такие сервисы, как Heroku.

Фашизм будет разбит


Человека карают только те боги, в которых он верит

 

Перейти на