@Anarh1st

Telegram Bot | Доработка кода на Python?

Всем привет.
Решил написать простенького бота для телеграма с помощью библиотеки TeleBot, в который пользователи будут писать текст, а он будет автоматически отправлять его мне. Вышло примерно так:
import telebot

token = ''
bot = telebot.TeleBot(token)

my_id = '


@bot.message_handler(commands=['start'])
def welcome(message):
	bot.send_message(message.chat.id, 'Добро пожаловать ' + str(message.from_user.username) + '!')



@bot.message_handler(content_types=['text'])
def re_send_messages(message):
	bot.forward_message(my_id, message.chat.id, message.message_id)
	bot.send_message(message.chat.id, "Сообщение отправлено!")









bot.polling(none_stop=True)

Бот самый простой, без всяких заморочек и фишек. Но возник ряд вопросов:
1.Бот не принимает фотографии ( и текст с фотографиями, соответственно, тоже). Что нужно добавить в код, чтобы он начал также фото, а не только текст?
2.Как можно настроить так, чтобы сообщения отправлял ряду пользователей(в моем случае - двум), а не только одному?
Если кто что может подсказать, напишите пожалуйста. Всем заранее спасибо!
  • Вопрос задан
  • 712 просмотров
Решения вопроса 1
@d2ms2nk
Привет!
Попробуй использовать библиотеку aiogram.
Вот простой пример того, что тебе нужно
import aiogram

token = 'your token'

# Вставь свой токен, запусти этот файл один раз и отправь боту сообщение /start
# Он в ответ отправит тебе твой chat id
# Заверши скрипт и затем вставь полученный chat id сюда.
my_chat_id = 12345

bot = aiogram.Bot(token = token)
dispatcher = aiogram.dispatcher.Dispatcher(bot  = bot)

@dispatcher.message_handler(commands = ['start'])
async def answer_start_message(message):
    await message.answer(f'Добро пожаловать! Ваш chat id : {message.chat.id}')

@dispatcher.message_handler(content_types = ['text'])
async def forward_message(message):
   # Тут список chat ids кому пересылать сообщения.
   # Они обязательно должны отправить боту команду /start.
   # Например chat_ids = [my_chat_id, 12345, 2345]
   chat_ids = [my_chat_id]
   for chat_id in chat_ids:
        await bot.send_message(chat_id, message.text)
   await message.answer("Ваше сообщение было отправлено успешно!")

@dispatcher.message_handler(content_types = ['photo'])
async def handle_photo(message):
    await message.photo[-1].download('test.jpg')
    await message.answer("Я получил и скачал твое фото!")


if __name__ ==  "__main__":
    aiogram.executor.start_polling(dispatcher, skip_updates = True)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы