Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexandresanlim/chat-btc

A "Chat GPT" for bitcoiners. Development with React Native and Expo
https://github.com/alexandresanlim/chat-btc

bitcoin btc chat chatbot chatgpt

Last synced: about 2 months ago
JSON representation

A "Chat GPT" for bitcoiners. Development with React Native and Expo

Awesome Lists containing this project

README

        

ChatBTC (Beta)


A "ChatGPT" for bitcoiners














# Menu

- [Contribute](#contribute)
- [šŸ¤– Bots](#-bots)
- [Prompts](#prompts)
- [Create](#prompts)
- [Create with parameter](#create-with-parameter-)
- [Get data](#get-data-)
- [Format data](#format-data-)
- [Set on quich type or auto complete](#set-on-quick-type-or-auto-complete-)
- [PR sample](https://github.com/alexandresanlim/chat-btc/pull/2)

- [ToDo](#todo-)

# Contribute
## šŸ¤– Bots


You can see all it here

To create new one, follow this template:
```json
{
"id": "mempool",
"name": "Mempool",
"avatar": "https://freeter.io/web-apps/bitcoin/mempool-space/mempool-space.png"
}
```
and put on [services/bots](https://github.com/alexandresanlim/chat-btc/tree/master/services/bots) path

## Prompts [šŸ”](#menu)

### Create [šŸ”](#menu)
To create new one, follow this template:
```json
{
"url": "https://mempool.space/api/v1/difficulty-adjustment",
"botId": "mempool",
"answer": {
"success": "Follow Bitcoin difficulty adjustment information:\n\nā€¢ Progress percent: [progressPercent:percent]\nā€¢ Difficulty change: [difficultyChange:decimal]\nā€¢ Estimated retarget date: [estimatedRetargetDate:date]\nā€¢ Remaining blocks: [remainingBlocks]\nā€¢ Remaining time: [remainingTime:time]\nā€¢ Previous retarget: [previousRetarget:decimal]\nā€¢ Previous time: [previousTime:time]\nā€¢ NextRetarget height: [nextRetargetHeight]\nā€¢ Time avg: [timeAvg:time]\nā€¢ Adjusted time avg: [adjustedTimeAvg:time]\nā€¢ Expected blocks: [expectedBlocks:decimal]",
"error": "šŸ˜ž No one Bitcoin adjustment was found, please try again"
}
}
```
and put on [services/prompts](https://github.com/alexandresanlim/chat-btc/tree/master/services/prompts) path

āš ļø The file name should match the prompt entered by the user to invoke this prompt.

### Create with parameter [šŸ”](#menu)

When the URL requires a parameter, as in the example below, you can use `{0}` in the URL and define a default parameter as `"default": "Bitcoin"`. This represents the secondary term entered by the user.

```json
{
"url": "https://api.coincap.io/v2/assets/{0}",
"botId": "coincap",
"parameters": {
"default": "Bitcoin"
},
"answer": {
"success": "The current price of [data.name] ([data.symbol]) is [data.priceUsd:currency], over the past 24 hours, it has changed by [data.changePercent24Hr:percent]",
"error": "šŸ˜ž No one Bitcoin price was found, please try again"
}
}
```
### Get data [šŸ”](#menu)
It is represented within `[]` brackets, indicating the path to retrieve data from the API response.

### Format data [šŸ”](#menu)
You can format data using `[pathData:{format}]`. Supported formats include:
Percent: `[pathData:percent]`
Decimal: `[pathData:decimal]`
Date: `[pathData:date]`
Time: `[pathData:time]`
Currency: `[pathData:currency]`

### Set on quick type or auto complete [šŸ”](#menu)

To set this up, follow this template:

```json
{
"title": "Price",
"value": "Price",
"autoComplete": ["Bitcoin", "Ethereum", "Solana"]
},
```
and set on this [file](https://github.com/alexandresanlim/chat-btc/blob/master/services/prompts/list/us.json).

- auto complete is optional

## ToDo [šŸ”](#menu)

- [ ] Create unit test
- [ ] Optin to create and manager Bitcoin wallets
- [ ] P2P community
- [ ] Option to set real IA as ChatGPT