🔋 Bottery - a framework for building bots
# quick example of a input bot
On an Application:
app = App()
input = InputHandler(app)
On Patterns:
hang_user_pattern_input = HangUserPattern(input_example)
input.set_hang(hang_user_pattern_input, 'project')
patterns = [
hang_user_pattern_input,
Pattern('project', input_example),
On a View:
# This block will be executed on first call
if not app.input_queue:
app.hang_in(message)
app.input(message, 'name', 'Enter Project Name:')
app.input(message, 'language', 'Enter Project Language: ',
['python2', 'python3'])
return app.print_next_input(message) # To return first message of queue
# On next calls, this block wil be executed
stay, response = app.next_input_queue(message)
if stay:
return response # Contains message from Input Command
# Queue ended, now you could save resulting Project and exit view
app.hang_out(message)
return 'Project created: ' + + ' '.join('{}:{}'.format(key, val) for key, val in response.items()) # Response contains user entries
The complete example is packaged within this repository
Just import it on a bottery project.
# On bottery app
from botteryext.binput.inputhandler import InputHandler
import botteryext.binput.localizations
app = App()
ih = InputHandler(App)
# On patterns.py
from botteryext.binput.patterns import HangUserPattern
hang_user_pattern = HangUserPattern(aview)
ih.set_hang(hang_user_pattern, 'apattern')
patterns = [
hang_user_pattern,
Pattern('project', input_example),
***
# On views
from inputapp import ih
$ git clone https://github.com/IvanBrasilico/binput.git
$ pip install -e .
Refer to bottery documentation