TeleBot / messageHandler не видит фото
пытаюсь использовать легкого телеграм бота для отправки фото человеку: Если человек использует #хештег, сообщение пересылается в отдельный чат, но если он ответит/отправит с фото: бот этого не увидит. Ничего не нашел об этом, код ниже. Или на этом гитхабе
... # temp
from dotenv import dotenv_values as envval
from telebot import TeleBot, types
import sqlite3
import colorama
colorama.init()
import warnings
warnings.filterwarnings('ignore')
print(envval('./.env'))
class conf:
TOKEN =envval('./.env')['TOKEN' ]
DATABASE=envval('./.env')['DATABASE']
ADMINDID=envval('./.env')['ADMINID' ]
bot = TeleBot(conf.TOKEN)
@bot.message_handler(content_types=["text"])
def getmessage(msg):
conn = sqlite3.connect(conf.DATABASE)
curs = conn.cursor()
curs.execute(f'''CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY
)''')
conn.commit()
if msg.chat.type == 'private':
data = curs.execute(f'SELECT id FROM users WHERE id = {msg.from_user.id}').fetchone()
if data is None:
curs.execute(f'INSERT INTO users(id) VALUES(?)', [msg.from_user.id])
conn.commit()
data = curs.execute(f'SELECT id FROM users WHERE id = {msg.from_user.id}').fetchone()
if msg.from_user.id == conf.ADMINID:
if msg.text == '$PS' or msg.text == '/start':
bot.send_message(msg.chat.id, 'Привет, ты вродь админ, это бот для рекламы\n\nЭтот текст - `/start`, `$PS`\nЕсли что-то напишешь другое, бот отправит это всем зарегестрированным юзерам в формате html\n\n**by AVirus**\n[GitHub SRC](https://github.com/AVirus-ubuntu/projectz)', parse_mode='Markdown')
elif msg.text != '$PS' and msg.text != '/start':
kb = types.InlineKeyboardMarkup(row_width=1).add(
types.InlineKeyboardButton('? Подтвердить', callback_data=f'confirm-|-{msg.from_user.id}-|-{msg.text}'),
types.InlineKeyboardButton('? Отказаться_', callback_data=f'cancel')
)
bot.send_message(msg.chat.id, 'Подтвердите отправку сообщений', parse_mode='html', reply_markup=kb)
curs.close()
conn.close()
@bot.callback_query_handler(func=lambda call:True)
def callback(call):
conn = sqlite3.connect(conf.DATABASE)
curs = conn.cursor()
if call.data.split('-|-', maxsplit=2)[0] == 'confirm':
bot.send_message(call.message.chat.id, 'Ок :)', parse_mode='html')
t = 0
f = 0
for x in curs.execute(f'SELECT id FROM users').fetchall():
try:
if x[0] != int(call.data.split('-|-', maxsplit=2)[1]):
bot.send_message(x[0], call.data.split('-|-', maxsplit=2)[2].strip(), parse_mode='html')
t+=1
except Exception as e: f+=1
bot.send_message(call.message.chat.id, f'Отправлено:\n<i>{str(t):_>6}</i> _успешных сообщений\n<i>{str(f):_>6}</i> сломанных сообщений\n\n$PS', parse_mode='html')
elif call.data.split('-|-', maxsplit=2)[0] == 'cancel':
bot.send_message(call.message.chat.id, 'Ну, как хочешь', parse_mode='html')
curs.close()
conn.close()
while True:
try: bot.infinity_polling(none_stop=True)
except Exception as e: ...
Буду благодарен, всем спасибо