Для создания бота на основе aiogram, который по заданному username будет находить пользователя по его username и возвращать его айди, вам потребуется следующий код:
1. Установите библиотеку aiogram с помощью pip:
pip install aiogram
2. Импортируйте необходимые компоненты из библиотеки aiogram:
from aiogram import Bot, Dispatcher, types from aiogram.contrib.fsm_storage.memory import MemoryStorage
3. Создайте объекты бота и диспетчера:
bot = Bot(token="YOUR_BOT_TOKEN") storage = MemoryStorage() dp = Dispatcher(bot, storage=storage)
4. Определите функцию-обработчик для команды /get_user_id, которая будет принимать username пользователя в качестве аргумента:
async def get_user_id(username: str): try: user = await bot.get_chat(username) user_id = user.id return f"User ID: {user_id}" except Exception as e: return f"Error: {e}"
5. Определите функцию-обработчик для команды /start, которая будет вызывать функцию-обработчик для команды /get_user_id:
@dp.message_handler(commands=["start"]) async def start(message: types.Message): await message.reply("Please enter a username to get user ID:") await dp.register_next_step_handler(message, process_username_step) async def process_username_step(message: types.Message): username = message.text await message.reply(get_user_id(username))
6. Определите функцию запуска бота:
async def on_startup(dp): await bot.send_message(chat_id="YOUR_CHAT_ID", text="Bot has been started") if __name__ == "__main__": dp.loop.run_until_complete(on_startup(dp)) dp.run_polling()
В коде выше замените YOUR_BOT_TOKEN на токен вашего бота, а YOUR_CHAT_ID на айди вашего чата.
После выполнения этих шагов, ваш бот будет готов к использованию. Вызовите команду /start, введите username пользователя в ответном сообщении, и бот вернет айди этого пользователя. Если произойдет ошибка, бот сообщит о ней.