Помогите с ботом телеграмм на питоне
import config as cfg
bot = telebot.TeleBot('...')
from subd import Database
db= Database('users.db')
@bot.message_handler(commands=["start"])
async def start(message):
if message.chat.type == 'private':
if not db.user_exists(message.from_user.id):
start_command= message.text
referrer_id = str(start_command[7:])
if str(referrer_id) != "":
if str(referrer_id) != str(message.from_user.id):
db.add_user(message.from_user.id, referrer_id)
try:
await bot.send_message(referrer_id, "По вашей ссылке присоединился новый пользователь!")
except:
pass
else:
db.add_user(message.from_user.id)
await bot.send_message(message.from_user.id, "Нельзя регистрироваться по своей реф.ссылку")
else:
db.add_user(message.from_user.id)
await bot.send_message(message.from_user.id, "Привет! В настоящий момент я нахожусь на стадии <b>-разработка-</b> я не знаю что это,но надеюсь, что то хорошее", parse_mode="html")
@bot.message_handler(commands=["profil"])
def profil(message):
uruurur = f'Имя: <b>{message.from_user.first_name} {message.from_user.last_name} </b> ID : {message.from_user.id} Баланс :'
bot.send_message(message.chat.id, uruurur, parse_mode="html")
@bot.message_handler(commands=["refkb"])
def refkb(message):
bot.send_message(message.chat.id, f"Ты привел рефералов: \nТвоя реферальная ссылка: \nhttps://t.me/{cfg.neymb}?start={message.from_user.id}")
@bot.message_handler(commands=["help"])
def help(message):
bot.send_message(message.chat.id, "Поддержка: ")
@bot.message_handler(commands=["info"])
def info(message):
bot.send_message(message.chat.id, f"Мы работаем с {cfg.dts} \nПользователей в боте: \nАдмин: {cfg.adm} \nКанал Отзывов: {cfg.kanal} " )
bot.polling(none_stop=True)
Код бота👆
import sqlite3
class Database:
def __init__(self, db_file):
self.connection = sqlite3.connect(db_file)
self.cursor = self.connection.cursor()
def user_exists(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT * FROM 'users' WHERE user_id = ?",(user_id,)).fetchall()
return bool(len(result))
def add_user(self, user_id, referrer_id=None):
with self.connection:
if referrer_id != None:
return self.cursor.execute("INSERT INTO 'users' ('user_id', 'referrer_id') VALUES (?,?)",(user_id, referrer_id,))
else:
return self.cursor.execute("INSERT INTO 'users' ('user_id') VALUES (?)",(user_id,))
Код БД👆
RuntimeWarning: coroutine start was never awaited task (*args, **kwargs)
RuntimeWarning: Enable tracemailoc to get the object allocation traceback
Ошибка при использовании команды start в боте (а не при его запуске ) 👆
Источник: Stack Overflow на русском