Правильное использование потоков в Errbot - PullRequest
0 голосов
/ 10 апреля 2019

Я использую errbot и работаю.Проблема, с которой я столкнулся, заключается в том, что после каждого потока у меня появляется сообщение, показывающее следующую команду потока.Я хотел бы отключить это.

Мой плагин имеет код

## First
@botcmd(split_args_with=None)
def portscan(self, message, args):
    user = {'id': message.frm.id, 'name': message.frm.first_name}
    datacreate(message.body, user, isbotmessage=False)
    response = "Whats your IP Address?"
    datacreate(response, user, isbotmessage=True)
    return response

Секунда

@botmatch(r'^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$', flow_only=True, hidden=True)
def psipaddress(self, message, match):

После запуска portscan я получаю сообщение ниже, показывающее регулярное выражение,Я хотел бы скрыть это.

Какой у вас IP-адрес?

Вы находитесь в потоке MyFlows1, вы можете продолжить: • ^ \ d {1,3}. \ D {1, 3}. \ D {1,3}. \ D {1,3} $

В документации по errbot упоминается следующая настройка.О следующем шаге намекает.Я пытался установить это, но это не похоже на работу.

errbot.flow.FLOW_END = <errbot.flow._FlowEnd object>
Flow marker indicating that the flow ends.

    class errbot.flow.Flow(root: errbot.flow.FlowRoot, requestor:      errbot.backends.base.Identifier, initial_context: typing.Mapping[str,   typing.Any], next_step_hinting: int = True)[source]
Bases: object

    This is a live Flow. It keeps context of the conversation   (requestor and context). Context is just a python dictionary   representing the state of the conversation.

__init__(root: errbot.flow.FlowRoot, requestor: errbot.backends.base.Identifier, initial_context: typing.Mapping[str, typing.Any], next_step_hinting: int = True)[source]
Parameters: 
root (FlowRoot) -- the root of this flow.
requestor (Identifier) -- the user requesting this flow.
initial_context (Mapping) -- any data we already have that could help executing this flow automatically.
next_step_hinting (int) -- toggle display of the "you are now in the flow xxx, you may continue with yyy, zzz"

из errbot import botflow, FlowRoot, BotFlow, botcmd, botmatch из errbot.flow import Flow

class Command(BotFlow):
def __init__(self, *args,**kwargs):
    super(Command, self).__init__(*args, **kwargs)
    self.next_step_hinting = False


@botflow
def MyFlows1(self, flow: FlowRoot):
    first_step = flow.connect('portscan', auto_trigger=True)
    second_step = first_step.connect("psipaddress")
...