@amogusnikovv

Почему при повторном нажатии на кнопку появляется ошибка?

Почему при нажатии на кнопку появляется ошибка: ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: file must be non-empty"
помогите пожалуйста, вот код:
import telebot
import random
from telebot import types
import sqlite3
from sqlite3 import Error
from time import ctime
bot = telebot.TeleBot('Тут token')
img = open('C:\\Users\\User\\Desktop\\bot\\D.gif', 'rb')
W = open("C:\\Users\\User\\Desktop\\bot\\Welcome.gif", 'rb')
f = open('C:\\Users\\User\\Desktop\\bot\\fact(ru).txt', 'r', encoding='UTF-8')
facts = f.read().split('\n')
f.close()
f = open('C:\\Users\\User\\Desktop\\bot\\fact(en).txt', 'r', encoding='UTF-8')
thinks  = f.read().split('\n')
f.close()
def post_sql_query(sql_query):
    with sqlite3.connect('C:\\Users\\User\\Desktop\\bot\\baza.db') as connection:
        cursor = connection.cursor()
        try:
            cursor.execute(sql_query)
        except Error:
            pass
        result = cursor.fetchall()
        return result

def register_user(user, username, first_name, last_name):
    user_check_query = f'SELECT * FROM USERS WHERE user_id = {user};'
    user_check_data = post_sql_query(user_check_query)
    if not user_check_data:
        insert_to_db_query = f'INSERT INTO USERS (user_id, username, first_name, last_name) VALUES ({user}, "{username}", "{first_name}", "{last_name}", "{ctime()}");'
        post_sql_query(insert_to_db_query )
def user_exists(self, user_id):
        if self.get_user_name(user_id) is None:
            return False
        return True
def start(m, res=False):
        register_user(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
conn = sqlite3.connect('C:\\Users\\User\\Desktop\\bot\\baza.db', check_same_thread=False)
cursor = conn.cursor()

def db_table_val(user_id: int, user_name: str, first_name: str, last_name):
  cursor.execute('INSERT INTO users (user_id, username, first_name, last_name) VALUES (?,?,?,?)', (user_id, user_name, first_name, last_name))
  conn.commit()
def get_user_name(self, user_id):
        result = self.cursor.execute('SELECT name FROM users WHERE id = ?', (user_id,)).fetchone()
        if result is None:
            return None
        return result[0]
def bd(m):
    us_id = m.from_user.id
    us_name = m.from_user.username
    firstname = m.from_user.first_name
    lastname = m.from_user.last_name
    db_table_val(user_id=us_id, username=us_name, first_name=firstname, last_name=lastname)
conn.commit()
@bot.message_handler(commands=['start'])

def get_text_messages(m):
    markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1=types.KeyboardButton("Русский ")
    item2=types.KeyboardButton('English ')
    markup.add(item1)
    markup.add(item2)
    bot.send_message(m.chat.id, 'Select language:',  reply_markup=markup)

@bot.message_handler(content_types=["text"])
def commands (m, res=True):
        if m.text.strip() == 'Русский ' :
            markup=types.ReplyKeyboardMarkup(resize_keyboard=False)
            item1=types.KeyboardButton("Факт")
            item2=types.KeyboardButton("Профиль")
            item3=types.KeyboardButton("☎Связаться с разработчиком")
            item4=types.KeyboardButton("Помощь")
            markup.add(item1)
            markup.add(item2)
            markup.add(item3)
            markup.add(item4)
            bot.send_video(m.chat.id, img, None, 'Text')
            bot.send_message(m.chat.id, f'Добро пожаловать {m.from_user.first_name}', reply_markup=markup)
        if m.text.strip() == 'Факт' :
            bot.send_message(m.chat.id, random.choice(facts))
        if m.text.strip() == 'Профиль' :
            bot.send_message(m.chat.id, f'=====Ваш профиль=====\n\nИмя: {m.from_user.first_name}\nАйди: {m.from_user.id}')
        if m.text.strip() == '☎Связаться с разработчиком' :
            bot.send_message(m.chat.id, 'Чтобы связаться с разработчиком напишите ему на @kpgcl')
        if m.text.strip() == 'Помощь' :
            bot.send_message(m.chat.id, '===========Помощь===========\n\nФакт - нажмите чтобы получить интересный факт.\n\nПрофиль - нажмите чтобы узнать свой профиль.\n\n☎Связаться с разработчиком - нажмите чтобы связаться с разработчиком.')
        elif m.text.strip() == 'English ' :
            markup = types.ReplyKeyboardMarkup(resize_keyboard=False)
            item1 = types.KeyboardButton('Fact')
            item2 = types.KeyboardButton('Profile')
            item3 = types.KeyboardButton('Contact developer')
            item4=types.KeyboardButton("Help")
            markup.add(item1)
            markup.add(item2)
            markup.add(item3)
            markup.add(item4)
            bot.send_video(m.chat.id, W, None, 'Text')
            bot.send_message(m.chat.id, f'Welcome {m.from_user.first_name}', reply_markup=markup)
        elif m.text.strip() == 'Fact' :
            bot.send_message(m.chat.id, random.choice(thinks))
        elif m.text.strip() == 'Profile' :
            bot.send_message(m.chat.id, f'=====Your profile=====\n\nName: {m.from_user.first_name}\nID: {m.from_user.id}')
        elif m.text.strip() == 'Contact developer' :
            bot.send_message(m.chat.id, 'To contact the developer, write to him at @kpgcl')
        elif m.text.strip() == 'Help' :
            bot.send_message(m.chat.id, '=============Help=============\n\nFact - click to get an interesting fact.\n\nProfile - click to see your profile.\n\n☎Contact Developer - click to contact the developer.')
bot.delete_webhook()




bot.polling(none_stop=True, timeout=123)
<code>
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@fright002
При нажатии на какую кнопку? Опишите вопрос подробнее
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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