chek_user_warn
и пробовал использовать if chek_user_warn(event.obj.reply_message['from_id']) == 1:
, тогда доходило до 2, но когда участнику 3 варн прописывал, то его считало за 2. И еще как правильно увеличить число варнов в таблице на 1, пробовал традиционными методами, чот не работало, ну либо я рукожоп.if event.object.text == "Варн" or event.object.text == "варн":
if event.obj.from_id in get_admins(event.obj.peer_id):
if not is_user_warned(event.obj.reply_message['from_id']):
insert_warnlist(event.obj.reply_message['from_id'])
add_warn(event.obj.reply_message['from_id'])
send_msg(event.obj.peer_id, "✅Пользователь получил 1/3 варнов")
else:
if chek_user_warn(event.obj.reply_message['from_id'], 1):
add_warn(event.obj.reply_message['from_id'])
send_msg(event.obj.peer_id, "✅Пользователь получил 2/3 варнов")
if chek_user_warn(event.obj.reply_message['from_id'], 2):
add_warn(event.obj.reply_message['from_id'])
send_msg(event.obj.peer_id, "✅Пользователь получил 3/3 варнов")
kick_user_fwd()
def is_user_warned(user_id: int) -> bool:
cmd = "select count(user_id) from warnlist where user_id = %d" % (user_id)
c.execute(cmd)
result = c.fetchone()[0]
print("Проверка айди на наличие в базе")
return result > 0
def insert_warnlist(user_id: int):
cmd = "INSERT INTO warnlist(user_id) VALUES (%d)" % (user_id)
c.execute(cmd)
conn.commit()
print("Пользователь добавлен в варнлист")
def delete_warnlist(user_id: int):
cmd = "DELETE FROM warnlist WHERE user_id=%d" % user_id
c.execute(cmd)
conn.commit()
print("Пользователь удален из варнлиста")
def add_warn(user_id: int):
cmd = "UPDATE warnlist SET warns = +1 WHERE user_id=%d" % user_id
c.execute(cmd)
conn.commit()
print("Пользователь получил +1 варн")
def chek_user_warn(user_id: int, warns: int):
cmd = "select count(warns) from warnlist where (user_id = %d, warns = %s)" % (user_id, warns)
c.execute(cmd)
result = c.fetchone()[0]
print("Проверка варнов пользователя")
return result > 0
with sqlite3.connect('my.db') as connection:
cursor = connection.cursor()
cursor.execute(cmd)
def is_user_warned(user_id: int) -> bool:
if not is_user_warned(event.obj.reply_message['from_id']):
def post_sql_query(sql_query):
with sqlite3.connect('my.db') as connection:
cursor = connection.cursor()
try:
cursor.execute(sql_query)
except Error:
pass
result = cursor.fetchall()
return result
def is_user_warned(user_id: int):
cmd = "select count(user_id) from warnlist where user_id = %d" % (user_id)
result = post_sql_query(cmd)
return result
if not is_user_warned(event.obj.reply_message['from_id']):
print('добавить')
else:
print('+ 1/3 варн')