Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать бота два в одном?
@ghazar7an

Как соединить два бота в один?

Как соединить два бота в один ?
Один парсит новости из определенного сайта , а другой парсит банковскую биржу.
Не получается соединить и заставить работать иx вместе.
Прошу помочь , только скажите что и как сделать.
import telebot
import requests
from bs4 import BeautifulSoup as BS
from telebot import types
bot = telebot.TeleBot(config.token)


@bot.message_handler(commands=['start', 'help'])
def main(message):
        markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
        itembtn1 = types.KeyboardButton('News')
        itembtn2 = types.KeyboardButton('Forex')

        markup.add(itembtn1, itembtn2)
        msg = bot.send_message(message.chat.id, "Select one:", reply_markup=markup)
        bot.register_next_step_handler(msg, process_switch_step)


def process_switch_step(message):
    if (message.text == 'Forex'):
        news(message)
        main(message)
    elif (message.text == 'News'):
        forex(message)

def news(message):
    url = 'https://news.am/arm/'
    page = requests.get(url)
    new_news = []
    soup = BS(page.text, "html.parser")
    news = soup.findAll('a', class_='news-item')
    for i in range(len(news)):
        if news[i].find('span', class_='title') is not None:
            new_news.append(f"{news[i]['href']} \n  {news[i].text}")
    for i in range(len(new_news)):


        @bot.message_handler(content_types=['text'])
        def send_text(message):
            if message.text == 'News':
                bot.send_message(message.chat.id, (''.join(new_news[:10])))

def forex(message):
    url = 'https://b24.am/other/'
    page = requests.get(url)
    new_news = []
    soup = BS(page.text, "html.parser")
    news = soup.findAll('div', class_='runfor')
    for i in range(len(news)):
        if news[i].find('span', class_='R') is not None:
            new_news.append(news[i].text)
    for i in range(len(new_news)):

        @bot.message_handler(content_types=['text'])
        def send_text(message):
            if message.text == 'Forex':
                bot.send_message(message.chat.id, (''.join(new_news)))

if __name__ == '__main__':
    bot.polling(none_stop=True)
  • Вопрос задан
  • 944 просмотра
Подписаться 1 Простой
Ответы на вопрос 2
Сделай 3 бота в 1. Потом удали одного.

Как сделать бота два в одном?
Ответ написан
dmitriy337
@dmitriy337
Python Dev from Ukraine
Через обращение к функции,в зависимости от сообщения. Типо if message.text == 'news': ну и дальше думаю понятно.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы