Как отправить через telegram bot практическое любое изображение?

#cartoon = re.compile("*.jpg")
#img = open(cartoon, 'rb')
img = open("out.jpg", 'rb')
for user in team_users:
    bot.send_photo(user.chat_id, img)

сделал так, чтобы отправлял именно изображение out, но чтобы отправить любое изображение попробовал через регулярные выражения, но видимо не корректно использовал их?
  • Вопрос задан
  • 473 просмотра
Пригласить эксперта
Ответы на вопрос 1
@fireSparrow
Вы здесь вообще какую-то ерунду пытаетесь делать.

Функция open ожидает в качестве аргумента конкретную строку. Функция re.compile возвращает скомпилированное регулярное выражение, которое строкой ВООБЩЕ не является. И даже не унаследовано от нее.

Строковое представление этого результата соответствует выражению, которое его породило.

cartoon = re.compile(".jpg")

print(str(cartoon))

# Выведет: re.compile('.jpg')


Файловая система не умеет работать с таким. Ей нужна нормальная строчка с конкретным именем файла.

Соответственно, вам нужно поступать так:
1. Получаете список имеющихся файлов в заданной директории.
2. Находите там один подходящий файл.
3. Передаёте его имя в явном и конкретном виде в функцию open.
И регулярные выражения здесь могут использоваться только на этапе 2, но никак не на этапе 3.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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