Цикл рассылки пользователям БД sqlite3 сообщение всем, кроме себе telebot

System

Новичок
Пользователь
Мар 11, 2022
14
0
1
В чем вопрос...
До этого писал код с внесением id пользователей через set(), сейчас же переделал, что все пользователи добавляются в список таблицы sqlite3
Код особо не изменял, только добавил кода в sqlite3:
Python:
def selectuser(self, chat_id):
        with self.connection:
            return self.cursor.execute("SELECT * FROM `userchat` WHERE `chat_id` = ?", (chat_id,)).fetchall()

И в основном блоке добавил только вызов функции:
Python:
userchat = db.selectuser(message.from_user.id)
for user in users:
            if user != message.from_user.id:
                bot.send_message(user, message.text)

Для теста добавил в код...
Python:
print(message)
... чтобы посмотреть ли отправилось сообщение

Не работает только цикл отправки всем людям сообщение, кроме себя ( Другие люди также должны иметь возможность отправлять другим сообщение, кроме себя, а при правильной отправке должны получать сообщение, например...
Python:
bot.send_message(message.from_user.id, "Сообщение отправлено!")
... оно кстати и работает, но нет отправки сообщение человека - другим )

А также, при проверке работы кода вылезает ошибка:
Код:
2022-03-12 13:23:04,139 (__init__.py:688 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: chat not found"

Как можно исправить код для его работы? Как избежать ошибки?
 

System

Новичок
Пользователь
Мар 11, 2022
14
0
1
Python:
userchat = db.selectuser(message.from_user.id)
for user in users:
            if user != message.from_user.id:
                bot.send_message(user, message.text)
Исправил ошибку, если кому надо, вот код (переменную изменил):
Python:
results = db.selectuser(message.from_user.id)
    print(results)
    sended = 0
    for result in results:
        if result == message.from_user.id: pass
        else:
            try:
                bot.send_message(result[0], message.text)
                sended += 1
            except Exception as e: print(f"[Error] {e}")
    bot.send_message(message.from_user.id, f"Отправлено {sended} сообщений!")
)
 
Последнее редактирование:

Форум IT Специалистов