on master help sign in
Merge pull request #1124 from urbit/mike/cypherscope-bot
907135fmikeosborne
content/grants/cypherscope-bot.mdnew file+80
@@ -0,0 +1,80 @@
1++++
2+title = "Cypherscope Bot"
3+date = "2021-09-13"
4+[taxonomies]
5+grant_type = ["Proposal"]
6+grant_category = ["App Dev: Other"]
7+[extra]
8+image = ""
9+description = "On-demand financial charts chat bot"
10+reward = 2
11+assignee = "~mitten-dapper, ~ristyc-ridwyx"
12+grant_id = "P0068"
13+completed = false
14+canceled = false
15+link = ""
16++++
17+
18+## Cyperscope Bot - an on-demand financial charts chat bot
19+
20+Urbit chat bot that provides on-demand financial charts based on [this bot](https://www.alphabotsystem.com/guide/charting)
21+
22+We expect to have a Ship or a Moon for our bot that answers incoming commands by replying with a chart image queried from the TradingView API.
23+
24+## User flow
25+
26+- User queries our bot by typing a command into chat like “chart btcusd 1h”.
27+
28+ -- Command parameters include ticker, timeframe (optional), candle type (optional), indicators (optional).
29+ -- We’ll attempt to match AlphaBot’s available parameters (at the bottom of [this page](https://www.alphabotsystem.com/guide/charting).
30+ -- More command parameters will potentially be added based on time constraints and feasibility.
31+
32+- Chatbot framework relays message to our bot (Cypherscope ship).
33+
34+ -- [Chatbot framework](https://github.com/robkorn/urbit-chatbot-framework)
35+
36+ -- Our bot is ideally a chat participant.
37+
38+ -- If our bot does not understand the command, return a helpful error message.
39+
40+- Bot parses the command and queries TradingView API for a chart.
41+
42+- Bot sends a message in chat with the chart image.
43+
44+ -- The images may be hosted on our ship. This part is a little unclear as of now.
45+
46+ -- The chart should have a consistent and unobtrusive size every time. TradingView API might already handle this.
47+
48+ -- Users should be able to delete the chart from the chat to avoid disrupting the flow of conversation.
49+
50+## Risks
51+
52+For transparency we have the following open questions and will dive deeper to resolve them:
53+
54+- Where are images hosted and for what time period?
55+
56+- How should the hardware running the ship be paid for?
57+
58+ -- If this project catches on we could add a paid tier with more features, accepting payment in crypto to our bot’s ship.
59+
60+- How should the TradingView chart API be paid for?
61+
62+## Milestones
63+
64+Milestone 1: Bot prototype + Moon deployment
65+
66+Estimated completion: 2 week
67+
68+Payment: 1 star
69+
70+Create chatbot that responds to incoming messages in the format of "c {ticker} {time interval}" and return a chart image with relevant financial data. The bot should fetch data for any asset supported by TradingView API, such as stocks, crypto, forex, or metals. Deploy this prototype bot to a Moon.
71+
72+Modify the chatbot framework we're using so that our Moon reacts when it is added to a new chat. When added, the bot displays a welcome message + menu. Add "c help" command for a full list of the bot's features. Ensure improper inputs like "c nonexistentTicker" returns a helpful error message.
73+
74+### Milestone 2: Accept payments
75+
76+Estimated completion: 2 weeks
77+
78+Payment: 1 star
79+
80+Allow bot to accept payment to the Moon it is hosted on to pay for upgraded features. Create chat interface so users of our bot can upgrade or downgrade seamlessly.