Ошибка в рассылке сообщений telebot

Mimok

Новичок
Пользователь
Апр 12, 2022
1
0
1
Написал бота, что должен высылать сообщение всем пользователям БД, кроме себя самого, но наткнулся на две ошибки:
- один облик для всех в БД
[IMG]
( От другого человека )
[IMG]
- сообщение приходят самому себе
[IMG]

.... main ....
Python:
import telebot
import config
#import keyboard

from database import Database
from telebot import types

bot = telebot.TeleBot(config.TOKEN)
db = Database('database.db')

@bot.message_handler(commands = ['start'])
def start(message):
    bot.send_message(message.chat.id, 'WELCOME!')

@bot.message_handler(commands = ['add'])
def adduser(message):
    if message.chat.type == 'private':
        if not db.user_detector(message.from_user.id,):
            db.add_userinfo(message.from_user.id,message.from_user.username,)
            db.add_userchat(message.from_user.id,)
            bot.send_message(message.chat.id, 'Вы в БД')
        elif db.user_detector(message.from_user.id,):
            bot.send_message(message.chat.id, 'Вы уже есть в БД')
        else:
            bot.send_message(message.chat.id, 'Ошибка')

@bot.message_handler(content_types = ['text'])
def chating(message):
    if message.chat.type == 'private':
        if db.user_detector(message.from_user.id):
            userlist = db.all_user(message.from_user.id)
            sended = 0
            for user in userlist:
                try:
                    if user[0] != message.from_user.id:
                        bot.send_message(user[0], message.text)
                        sended+=1
                        print(userlist)
                except Exception as e: print(f"[Error] {e}")
            print(userlist)
            bot.send_message(message.from_user.id, f"Сообщений {sended} отправлено!")
        else:
            bot.send_message(message.chat.id, "Я лох")

bot.polling(none_stop = True )

....bd....
Python:
import sqlite3

class Database:
    def __init__(self, database_file):
        self.connection = sqlite3.connect(database_file, check_same_thread = False)
        self.cursor = self.connection.cursor()

    def user_detector(self, chat_id):
        with self.connection:
            result = self.cursor.execute("SELECT `chat_id` FROM `userchat`").fetchmany(1)
            return bool(len(result))

    def all_user(self, chat_id):
        with self.connection:
            result = self.cursor.execute("SELECT `chat_id` FROM `userchat`").fetchall()
            return result

    def add_userinfo(self, chat_id, username):
        with self.connection:
            return self.cursor.execute("INSERT INTO `userinfo` (`chat_id`, `username`) VALUES (?,?)", (chat_id, username,))

    def add_userchat(self, chat_id):
        with self.connection:
            return self.cursor.execute('INSERT INTO `userchat` (`chat_id`) VALUES (?)', (chat_id,))

Где ошибка и как её исправить?
 

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