TypeError: send_photo() takes 1 positional argument but 3 were given
Делаю простейший бот для телеграма, который раз в три секунды отправляет рандомную фотографию из папки в канал телеграма.
Код:
import telebot
import os
import random
import time
TOKEN = ''
tb = telebot.TeleBot(TOKEN) #create a new Telegram Bot object
chat_id = '@12121201'
while True:
photo = open(random.choice(os.listdir("D:\ph")), 'rb')
tb.send_photo(chat_id, photo)
time.sleep(3)
(Токен вырезан)
И получил эту ошибку при отправке фотографии:
tb.send_photo(chat_id, photo)
TypeError: send_photo() takes 1 positional argument but 3 were given
В другом треде пишут, что эта функция еще не реализована в telebot, но у многих людей она работает, как это можно исправить?
Ответы (1 шт):
Автор решения: Violet
→ Ссылка
pyTelegramBotAPI 3.8.2
import telebot
bot = telebot.TeleBot(bot_token)
print(bot.get_me())
@bot.message_handler(commands=['start'])
def test(message):
bot.send_photo(message.chat.id, open('files/test.JPG', 'rb'))
bot.send_photo(message.chat.id, 'https://www.python.org/static/img/python-logo.png')
bot.polling(none_stop=True)