client = TelegramClient('bot', api_id, api_hash).start(bot_token=bot_token)
async def change_bot_avatar():
# Загружаем новое фото профиля
file = await client.upload_file(photo_path)
# Устанавливаем новое фото как аватарку
await client(UploadProfilePhoto(file=file)
from aiogram import Bot, Dispatcher
from aiohttp import ClientSession
from aiohttp_socks import ProxyConnector
API_TOKEN = 'YOUR_API_TOKEN'
PROXY_URL = 'socks5://username:password@proxy_server:port' # Замените данные прокси
async def create_bot():
# Создаем прокси-коннектор
connector = ProxyConnector.from_url(PROXY_URL)
# Создаем сессию с прокси
session = ClientSession(connector=connector)
# Создаем бота с сессией через прокси
bot = Bot(token=API_TOKEN, session=session)
dp = Dispatcher()
return bot, dp
async def main():
bot, dp = await create_bot()
@dp.message(commands=['start'])
async def start_command(message):
await message.answer("Привет! Это бот с поддержкой прокси.")
# Запускаем поллинг
await dp.start_polling(bot)
if __name__ == '__main__':
import asyncio
asyncio.run(main())
from aiogram import types
from aiogram.dispatcher.middlewares import BaseMiddleware
class CallbackDataMiddleware(BaseMiddleware):
async def on_pre_process_callback_query(self, callback_query: types.CallbackQuery, data: dict):
# Здесь можно получить callback_data
callback_data = callback_query.data
# Добавляем callback_data в data, чтобы оно было доступно в хендлере
data['callback_data'] = callback_data
print(f"Callback Data: {callback_data}")
from aiogram import BaseMiddleware
from aiogram.types import CallbackQuery
class CallbackDataMiddleware(BaseMiddleware):
async def __call__(self, handler, event: CallbackQuery, data: dict):
# Здесь мы можем извлечь callback_data
callback_data = event.data
data['callback_data'] = callback_data
print(f"Callback Data: {callback_data}")
return await handler(event, data)