【问题标题】:Как заставить телеграмм бота работать одновременно на нескольких аккаунтах? Задать вопросКак заставить телеграмм бота работать одновременно на нескольких аккаунтах? Задать вопрос
【发布时间】:2022-01-06 18:28:49
【问题描述】:

я написал парсер и хочу чтобы взаимодействие с ним происходило через 电报бота。 в парсере есть некоторые настройки, которые должен вводить пользователь。 Янаписалботаивсеработает,нотолькоеслиботомпользуетсяодновременнотолько1человек,таккакесливторойпользовательботаизменяетпеременныеустанавливаянастройкипарсера,тоонименяютсяиупервогопользователя。 P>

import telebot
from telebot import types
from bs4 import BeautifulSoup
import requests
import re

bot=telebot.TeleBot('2146604141:AAG6DH6tzjF6eVW5MO_HCoBM8')
HOST='https://www.bolha.com'
HEADERS={
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
}

@bot.message_handler(content_types=['text'])
def start(message):
    bot.send_message(message.from_user.id, "введите ссылку категории для парсинга")
    bot.register_next_step_handler(message, get_URL)

def get_URL(message):
    global URL, ID, count1
    count1=0
    ID=message.from_user.id
    try:
        URL=message.text
        html=get_html(URL)
        if html.status_code==200:
            bot.send_message(message.from_user.id, "введите дату размещения искомых обьявлений в формате: ГГГГ-ММ-ДД например(2021-11-25) или напишите 'No' если не хотите учитывать этот параметр")
            bot.register_next_step_handler(message, get_DATA)
        else:
            bot.send_message(message.from_user.id, "ссылка не подходит")
            start(message)
    except:
        bot.send_message(message.from_user.id, "ссылка не подходит")
        start(message)

def get_DATA(message):
    global DATA, count1, count2
    count2=0
    if count1==0:
        DATA=message.text
    bot.send_message(message.from_user.id, 'максимально допустимое количество сделок у продавца на сайте?')
    count1+=1
    bot.register_next_step_handler(message, get_opit)

def get_opit(message):
    global opit_, count2, count3
    count3=0
    try:
        if count2==0:
            opit_=int(message.text)
        bot.send_message(message.from_user.id, "с какой страницы начать парсинг?")
        count2+=1
        bot.register_next_step_handler(message, get_PAGENATION_ot)
    except:
        bot.send_message(message.from_user.id, "введите число")
        get_DATA(message)

def get_PAGENATION_ot(message):
    global PAGENATION_ot, count3
    try:
        if count3==0:
            PAGENATION_ot=int(message.text)
        bot.send_message(message.from_user.id, "на какой закончить?")
        count3+=1
        bot.register_next_step_handler(message, get_PAGENATION_do)
    except:
        bot.send_message(message.from_user.id, "введите число")
        get_opit(message)

def get_PAGENATION_do(message):
    global PAGENATION_do
    try:
        PAGENATION_do=int(message.text)+1
        start_parsing(message)
    except:
        bot.send_message(message.from_user.id, "введите число")
        get_PAGENATION_ot(message)

далее идет сам функционал парсера

как мне сделать так чтобы ботом могли пользоваться одновременно несколько пользователей? заранее спасибо。

【问题讨论】:

  • создайтесловарь/текстовыйдокумент/БДвкоторомбудетехранитьIDпользователяиегонастройкиизапускайтепарсервразныхпотокахдлякаждогопользователя跨度>
  • Вы бы что ли убрали токен из кода

标签: python telegram


【解决方案1】:

Асинхронные запросы。 Я бы использовал облачные функции: lambda от amazon или google/firebase。 Каждый запрос от пользователя к боту - новая функция。 При необходимости запросы собирать в бд, потом парсить и отправлять каждому пользователю его результаты。

【讨论】:

  • В текущем виде ваш ответ непонятен。 Пожалуйста,нажмитеправитьподсообщением,чтобыдобавитьбольшеподробностей,которыепомогутдругимпонять,каконотвечаетназаданныйвопрос。 Вы можете найти больше информации о том, как писать хорошие ответы в Справке.
猜你喜欢
  • 2022-06-16
  • 2022-06-16
  • 2022-06-17
  • 2022-06-14
相关资源
最近更新 更多