@Proxindeyka

Python telebot как после перехода из первого файла во второй, снова вернуться в первый файл?

Есть два файла с кодами, после выполнения функции в первом файле, мы переходим в 2 файл и выполняем функции там, но после выполнения как вернуться в первый файл?

ЭТО ПЕРВЫЙ ФАЙЛ bots.py

import telebot
import random
import main2_example

from multiprocessing.dummy import Pool
from telebot import types
from random import choice
from main2_example import menu_example

bot = telebot.TeleBot('')

@bot.message_handler(content_types=['text','photo','audio','media','video'])
def func(message):
 if (message.text == "Музыкальный батл"):
        bot.send_message(message.from_user.id,"Правила таковы:\nТебе будут даны варианты ответа, тебе нужно лишь угадать откуда мелодия")
        menu_example(message)
bot.polling(none_stop=True, interval=0)


ЭТО ВТОРОЙ ФАЙЛ main2_example.py

import telebot

from telebot import types



bot = telebot.TeleBot('')
@bot.message_handler(content_types=['text','photo','audio','media','video'])

def menu_example(message):

        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('Один дома')
        btn2 = types.KeyboardButton('Звездные войны')
        btn3 = types.KeyboardButton("Шрек", )
        markup.add(btn3, btn2, btn1)
        bot.send_message(message.chat.id,
                         text="Начнем же, {0.first_name}!".format(
                             message.from_user), reply_markup=markup)
        bot.send_message(message.chat.id, "Угадай, откуда эта мелодия?")
        audio1 = open("Неизвестная песня.mp3", 'rb')
        bot.send_audio(message.chat.id, audio1)
        bot.register_next_step_handler(message, batl)
def batl(message):
        if (message.text == "Шрек") or message.text == "Один дома":
         bot.send_message(message.from_user.id, "А вот и не угадал")
         menu_example(message)

        elif message.text == "Звездные войны":
         bot.send_message(message.from_user.id, "Умничка!!!")
         menu_example(message)


bot.polling(none_stop=True, interval=0)


Как мне вернуться к первому файлу?Чтобы не вылезла ошибка зацикливания?
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
@KingBotReg
На примере файла main2_example.py выйти в файл bots.py в функцию func
import telebot
import bots # Импортируем файл 

from telebot import types



bot = telebot.TeleBot('')
@bot.message_handler(content_types=['text','photo','audio','media','video'])

def menu_example(message):

        markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('Один дома')
        btn2 = types.KeyboardButton('Звездные войны')
        btn3 = types.KeyboardButton("Шрек", )
        markup.add(btn3, btn2, btn1)
        bot.send_message(message.chat.id, text="Начнем же, {0.first_name}!".format(message.from_user), reply_markup=markup)
        bot.send_message(message.chat.id, "Угадай, откуда эта мелодия?")
        audio1 = open("Неизвестная песня.mp3", 'rb')
        bot.send_audio(message.chat.id, audio1)
        bot.register_next_step_handler(message, batl)
def batl(message):
        if message.text == "Шрек" or message.text == "Один дома":
            bot.send_message(message.from_user.id, "А вот и не угадал")
            menu_example(message)

        elif message.text == "Звездные войны":
            bot.send_message(message.from_user.id, "Умничка!!!")
            bots.func(message) # Переход к функции func из файла bots.py


bot.polling(none_stop=True, interval=0)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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