From 71a161903a14f3005aae9d1715f5db30b3b63257 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 27 Sep 2023 03:26:54 +0000 Subject: [PATCH 01/34] chore: update README.md --- README.md | 53 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e8d09c845..a1fc7d457 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,21 @@ -# The UbiquiBot - -Ubiquity DAO's GitHub Bot to automate DevPool management. +# UbiquiBot + +Ubiquity DAO's GitHub Bot for Automating DevPool Management. + +## Table of Contents +1. [Quickstart](#quickstart) +2. [Environment Variables](#environment-variables) +3. [Overview](#overview) +4. [How to Use](#how-to-use) +5. [Configuration](#configuration) +6. [How to Run Locally](#how-to-run-locally) +7. [Supabase Database](#supabase-database) +8. [Logs](#logs) +9. [Payments Permits in a Local Instance](#payments-permits-in-a-local-instance) +10. [How to QA Additions to the Bot](#how-to-qa-additions-to-the-bot) +11. [How to Create a New Release](#how-to-create-a-new-release) +12. [Architecture Overview](#architecture-overview) +13. [Default Config Notes (`ubiquibot-config-default.ts`)](#default-config-notes-ubiquibot-config-defaultts) ## Quickstart @@ -16,7 +31,7 @@ yarn start:watch ## Environment Variables -- Copy `.env.example` to `.env` +- Copy `.env.example` to `.env` (do not rname .env.example, just make a copy) - Update `.env` with the following fields: - `SUPABASE_URL`: Add your Supabase project URL. - `SUPABASE_KEY`: Add your Supabase project API key. @@ -54,7 +69,7 @@ To test the bot, you can: 1. Create a new issue 2. Add a time label, ex: `Time: <1 Day` -3. Add a priority label, ex: `Priority: 0 (Normal)` +3. Add a priority label, ex: `Priority: 1 (Normal)` 4. At this point the bot should add a price label. ## Configuration @@ -106,6 +121,10 @@ To test the bot, you can: ## How to run locally +## Supase Database + +### Option 1 + 1. Create a new project at [Supabase](https://supabase.com/). Add `Project URL` and `API Key` to the `.env` file: ``` @@ -115,7 +134,15 @@ SUPABASE_KEY="XXX" ``` -2. Create a new organization at [Memzo](https://app.mezmo.com/). Add `LOGDNA_INGESTION_KEY` to the `.env` file: +### Option 2 +### This options will require you to have a local Docker installation (under the hood it is required by Supabase) refer to Supabase Docs for more info +``` +yarn supabase start +``` + +## Logs + +2. Create a new organization at [Mezmo](https://app.mezmo.com/). Add `LOGDNA_INGESTION_KEY` to the `.env` file: ``` @@ -132,7 +159,7 @@ DISQUALIFY_TIME="7 days" // 7 days ``` -4. `yarn install` +4. `Make sure you have Node => 20 && yarn` 5. Open 2 terminal instances: - in one instance run `yarn build --watch` (compiles the Typescript code) - in another instance run `yarn start:watch` (runs the bot locally) @@ -141,22 +168,24 @@ DISQUALIFY_TIME="7 days" // 7 days At this point the `.env` files auto-fill the empty fields (`PRIVATE_KEY` and `APP_ID`) if it is not previously filled. Now you can make changes to the repository on GitHub (e.g. add a bounty) and the bot should react. +7. After adding the bot (as a installed app) to your github you will need to restart the aforemention yarn start:watch so CTRL-C to stop the node daemon and `yarn start:watch` again + You can, for example: 1. Create a new issue 2. Add a time label, ex: `Time: <1 Day` -3. Add a priority label, ex: `Priority: 0 (Normal)` -4. At this point the bot should add a price label, you should see event logs in one of your opened terminals +3. Add a priority label, ex: `Priority: 1 (Normal)` +4. the bot should add a price label, you should see event logs in your opened bot terminals ## How it works -Bounty bot is built using the [probot](https://probot.github.io/) framework so initially the bot is a github app. But thanks to the [probot/adapter-github-actions](https://github.com/probot/adapter-github-actions) you can also use the bot as a github action. +UbiquityBot is built using the [probot](https://probot.github.io/) framework so in fact the bot is a github app. But thanks to the [probot/adapter-github-actions](https://github.com/probot/adapter-github-actions) you can also use the bot as a github action. -You can use the bounty bot as a [github app](https://github.com/marketplace/ubiquibot). +UbiquityBot it's also available as a [Github app](https://github.com/marketplace/ubiquibot) on the Githut Marketplace. When using as a github app the flow is the following: -1. Bounty bot is added to a repository as a github app +1. UbiquityBot is added to a repository as a github app 2. You run the bot "backend" (for example on your local machine) 3. Some event happens in a repository and the bot should react somehow (for example: on adding a time label to an issue the bot should add a price label) 4. Event details are sent to your deployed bot instance (to a webhook URL that was set in github app's settings) From 9a9cee8f9a9b8faec90a8d6a95153959b7f5c599 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 29 Sep 2023 05:27:40 +0000 Subject: [PATCH 02/34] chore: add metadata --- README.md | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a1fc7d457..7d9f3a15c 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ git clone https://github.com/ubiquity/ubiquibot.git cd ubiquibot yarn yarn build + yarn start:watch ``` @@ -49,14 +50,56 @@ yarn start:watch - `IMPORTANT_WORDS_AI_TEMPERATURE`: (optional) Set ChatGPT temperature for finding important words (default: 0). `APP_ID` and `PRIVATE_KEY` are [here](https://t.me/c/1588400061/1627) for internal developers to use. + If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically generated when you install the app on your repository. +Should output: +![setup](https://github.com/ubiquity/ubiquibot/assets/41552663/febf0e61-0402-4b25-838a-a64c1c385984) + +You may proceed to go to localhost:3000 and you should see + +![setup1](https://github.com/ubiquity/ubiquibot/assets/41552663/4b9d7565-8bd4-4e2a-864d-a086fedfe24d) + +Click on Register a Github App + +![setup3](https://github.com/ubiquity/ubiquibot/assets/41552663/0052feba-e823-419b-acde-d997d68ac553) + +Provide the bot a name + +![setup3](https://github.com/ubiquity/ubiquibot/assets/41552663/0052feba-e823-419b-acde-d997d68ac553) + +![setup4](https://github.com/ubiquity/ubiquibot/assets/41552663/f65e166b-c3fb-4e22-9f49-d622e3922eb7) + +Select a handle where to install the bot + +Select in which repo the bot shall be available + +![setup6](https://github.com/ubiquity/ubiquibot/assets/41552663/dce6b338-abd8-4b54-b990-2cc6cf686d30) + +After following the steps you should see + +![setup7](https://github.com/ubiquity/ubiquibot/assets/41552663/bbcf0e40-456c-4dd4-93e4-75de87d4d340) + + +If you go again to localhost:3000 after the bot is installed on your handle you shall see + +![ubiquity](https://github.com/ubiquity/ubiquibot/assets/41552663/f06250b9-1e3f-44c2-8ee8-efcf34baadd8) + +Restart the server for the installation to take efect + +![setup10](https://github.com/ubiquity/ubiquibot/assets/41552663/916cc5c3-dfdc-45c7-8d10-65afdce25e29) + +After aforemoention steps then installation shall be complete + +![setup11](https://github.com/ubiquity/ubiquibot/assets/41552663/0e88fec0-fa8b-4d34-8cc8-024c99b5b640) + + **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository. Instead, it is recommended to make a copy of the `.env.example` file and replace the values with the appropriate ones. ## Overview -- This bot is designed to exist as a GitHub Action. +- This bot is available as a GitHub Action. - The code must be compiled using `@vercel/ncc` because all the dependencies (e.g. `node_modules`) must be included and committed on the repository for the GitHub Actions runner to use. ## How to use From 2bd1e8a31c0384d0fd6dd995b2ef74d1866a6f16 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 29 Sep 2023 05:52:06 +0000 Subject: [PATCH 03/34] chore: update architecture overview --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d9f3a15c..8eac928d0 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,10 @@ yarn start:watch ## Environment Variables - Copy `.env.example` to `.env` (do not rname .env.example, just make a copy) -- Update `.env` with the following fields: +- Update the following fields on `.env`: - `SUPABASE_URL`: Add your Supabase project URL. - `SUPABASE_KEY`: Add your Supabase project API key. -- `LOGDNA_INGESTION_KEY`: Get it from [Memzo](https://app.mezmo.com/) by creating an account, adding an organization, and copying the ingestion key on the next screen. +- `LOGDNA_INGESTION_KEY`: Get it from [Mezmo](https://app.mezmo.com/) by creating an account, adding an organization, and copying the ingestion key. - `FOLLOWUP_TIME`: (optional) Set a custom follow-up time (default: 4 days). - `DISQUALIFY_TIME`: (optional) Set a custom disqualify time (default: 7 days). - `OPENAI_API_HOST`: (optional) Set OpenAI host url (default: https://api.openai.com). @@ -293,6 +293,9 @@ Bounty bot is built using the [probot](https://probot.github.io/) framework so i | ├── types A set of schema and type definitions.
Why do we need schema? because we want to validate the unknown input and throw the error before the main execution. | + +├── helpers A set of schema and type definitions.
Why do we need schema? because we want to validate the unknown input and throw the error before the main execution. + ├── utils A set of utility functions From b47d264fa1f7220215540a0bbec09c0b262e2f0f Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 3 Oct 2023 04:33:55 +0000 Subject: [PATCH 04/34] test: improve readme --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8eac928d0..9d2e41449 100644 --- a/README.md +++ b/README.md @@ -119,9 +119,9 @@ To test the bot, you can: `evm-network-id` is ID of the EVM-compatible network that will be used for payouts. -`price-multiplier` is a base number that will be used to calculate bounty price based on the following formula: `price = price-multiplier * time-label-weight * priority-label-weight * 100` +`priceMultiplier` is a base number that will be used to calculate bounty price based on the following formula: `price = priceMultiplier * timeLabelWeight * priority-label-weight * 100` -`time-labels` are labels for marking the time limit of the bounty: +`timeLabels` are labels for marking the time limit of the bounty: - `name` is a human-readable name - `value` is number of seconds that corresponds to the time limit of the bounty @@ -130,12 +130,12 @@ To test the bot, you can: - `name` is a human-readable name -`command-settings` are setting to enable or disable a command +`commandSettings` are setting to enable or disable a command - `name` is the name of the command - `enabled` is a `true` or `false` value to enable or disable a command -`default-labels` are labels that are applied when an issue is created without any time or priority labels. +`defaultLabels` are labels that are applied when an issue is created without any time or priority labels. `assistive-pricing` to create a new pricing label if it doesn't exist. Can be `true` or `false`. @@ -163,8 +163,7 @@ To test the bot, you can: `promotion-comment` is a message that is appended to the payment permit comment. ## How to run locally - -## Supase Database +### Supase Database ### Option 1 @@ -178,7 +177,8 @@ SUPABASE_KEY="XXX" ``` ### Option 2 -### This options will require you to have a local Docker installation (under the hood it is required by Supabase) refer to Supabase Docs for more info +### This options will require you to have a local Docker installation (under the hood it is required by Supabase) refer to [Supabase Docs](https://supabase.com/docs) + ``` yarn supabase start ``` @@ -224,7 +224,7 @@ You can, for example: UbiquityBot is built using the [probot](https://probot.github.io/) framework so in fact the bot is a github app. But thanks to the [probot/adapter-github-actions](https://github.com/probot/adapter-github-actions) you can also use the bot as a github action. -UbiquityBot it's also available as a [Github app](https://github.com/marketplace/ubiquibot) on the Githut Marketplace. +[UbiquityBot](https://github.com/marketplace/ubiquibot) it's also available ready to install on the Githut Marketplace. When using as a github app the flow is the following: From 339af31b69eec09ee7ada40953a5e91eca4834eb Mon Sep 17 00:00:00 2001 From: Paul <41552663+molecula451@users.noreply.github.com> Date: Wed, 4 Oct 2023 04:51:50 +0000 Subject: [PATCH 05/34] test: update --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d2e41449..30dacd82f 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ yarn start:watch - `MEASURE_SIMILARITY_AI_TEMPERATURE`: (optional) Set ChatGPT temperature for measuring similarity (default: 0). - `IMPORTANT_WORDS_AI_TEMPERATURE`: (optional) Set ChatGPT temperature for finding important words (default: 0). -`APP_ID` and `PRIVATE_KEY` are [here](https://t.me/c/1588400061/1627) for internal developers to use. +`APP_ID` and `PRIVATE_KEY` are [here](https://t.me/c/1588400061/1627) for core team developers to use. If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically generated when you install the app on your repository. @@ -183,6 +183,15 @@ SUPABASE_KEY="XXX" yarn supabase start ``` +## Check Supabase Status (locally) +``` +yarn supabase status +``` + +![supabase](https://github.com/ubiquity/ubiquibot/assets/41552663/e8709b8f-e7c3-49e0-876c-c15dde22c6d2) + + + ## Logs 2. Create a new organization at [Mezmo](https://app.mezmo.com/). Add `LOGDNA_INGESTION_KEY` to the `.env` file: From 9db31ab8f421fab859b127c099c713eb41e93673 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 6 Oct 2023 10:41:46 +0000 Subject: [PATCH 06/34] test: update readme --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 30dacd82f..dce508b68 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ To test the bot, you can: ## Configuration -`evm-network-id` is ID of the EVM-compatible network that will be used for payouts. +`evmNetworkId` is ID of the EVM-compatible network that will be used for payouts. `priceMultiplier` is a base number that will be used to calculate bounty price based on the following formula: `price = priceMultiplier * timeLabelWeight * priority-label-weight * 100` @@ -126,7 +126,7 @@ To test the bot, you can: - `name` is a human-readable name - `value` is number of seconds that corresponds to the time limit of the bounty -`priority-labels` are labels for marking the priority of the bounty: +`priorityLabels` are labels for marking the priority of the bounty: - `name` is a human-readable name @@ -139,13 +139,13 @@ To test the bot, you can: `assistive-pricing` to create a new pricing label if it doesn't exist. Can be `true` or `false`. -`disable-analytics` can be `true` or `false` that disables or enables weekly analytics collection by Ubiquity. +`disableAnalytics` can be `true` or `false` that disables or enables weekly analytics collection by Ubiquity. -`payment-permit-max-price` sets the max amount for automatic payout of bounties when the issue is closed. +`paymentPermitMaxPrice` sets the max amount for automatic payout of bounties when the issue is closed. -`comment-incentives` can be `true` or `false` that enable or disable comment incentives. These are payments generated for comments in the issue by contributors, excluding the assignee. +`commentIncentives` can be `true` or `false` that enable or disable comment incentives. These are payments generated for comments in the issue by contributors, excluding the assignee. -`issue-creator-multiplier` is a number that defines a base multiplier for calculating incentive for the creator of the issue. +`issueCreatorMultiplier` is a number that defines a base multiplier for calculating incentive for the creator of the issue. `comment-element-pricing` defines how much is a part of the comment worth. For example `text: 0.1` means that any text in the comment will add 0.1 @@ -156,11 +156,11 @@ To test the bot, you can: - `totals`: - `word` defines reward for each word in the comment -`max-concurrent-assigns` is the maximum number of bounties that can be assigned to a bounty hunter at once. This excludes bounties with delayed or approved pull request reviews. +`maxConcurrentAssigns` is the maximum number of bounties that can be assigned to a bounty hunter at once. This excludes bounties with delayed or approved pull request reviews. -`register-wallet-with-verification` can be `true` or `false`. If enabled, it requires a signed message to set wallet address. This prevents users from setting wallet address from centralized exchanges, which would make payments impossible to claim. +`registerWalletWithVerification` can be `true` or `false`. If enabled, it requires a signed message to set wallet address. This prevents users from setting wallet address from centralized exchanges, which would make payments impossible to claim. -`promotion-comment` is a message that is appended to the payment permit comment. +`promotionComment` is a message that is appended to the payment permit comment. ## How to run locally ### Supase Database From 51b0c35bd9059f30775691d514fdad19678ca1b6 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 6 Oct 2023 11:40:27 +0000 Subject: [PATCH 07/34] test: update --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dce508b68..dde7c84e5 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ cd ubiquibot yarn yarn build +yarn build --watch yarn start:watch ``` @@ -48,6 +49,8 @@ yarn start:watch - `SIMILARITY_THRESHOLD`: (optional) Set similarity threshold (default: 80). - `MEASURE_SIMILARITY_AI_TEMPERATURE`: (optional) Set ChatGPT temperature for measuring similarity (default: 0). - `IMPORTANT_WORDS_AI_TEMPERATURE`: (optional) Set ChatGPT temperature for finding important words (default: 0). +- `WEBHOOK_PROXY_URL`: (required) should be automatically filled when you install Ubiquibot +- `WEBHOOK_SECRET`: (required) should be automatically filled when the app is installed `APP_ID` and `PRIVATE_KEY` are [here](https://t.me/c/1588400061/1627) for core team developers to use. @@ -137,7 +140,7 @@ To test the bot, you can: `defaultLabels` are labels that are applied when an issue is created without any time or priority labels. -`assistive-pricing` to create a new pricing label if it doesn't exist. Can be `true` or `false`. +`assistivePricing` to create a new pricing label if it doesn't exist. Can be `true` or `false`. `disableAnalytics` can be `true` or `false` that disables or enables weekly analytics collection by Ubiquity. From 0445ddac8248c5414f32ec1cd09d6ee73f1ed58b Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 6 Oct 2023 11:41:30 +0000 Subject: [PATCH 08/34] test: update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dde7c84e5..e5bae03f6 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ Ubiquity DAO's GitHub Bot for Automating DevPool Management. git clone https://github.com/ubiquity/ubiquibot.git cd ubiquibot yarn -yarn build +yarn build (to compile your changes) -yarn build --watch +yarn build --watch (to locally auto compile your changes) yarn start:watch ``` From cbec52d315fb3be2db15db5d712b4b2a3fa95f78 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 6 Oct 2023 11:51:25 +0000 Subject: [PATCH 09/34] test: update --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e5bae03f6..7c92956ea 100644 --- a/README.md +++ b/README.md @@ -234,13 +234,13 @@ You can, for example: ## How it works -UbiquityBot is built using the [probot](https://probot.github.io/) framework so in fact the bot is a github app. But thanks to the [probot/adapter-github-actions](https://github.com/probot/adapter-github-actions) you can also use the bot as a github action. +Ubiquibot is built using the [probot](https://probot.github.io/) framework so in fact the bot is a github app. But thanks to the [probot/adapter-github-actions](https://github.com/probot/adapter-github-actions) you can also use the bot as a github action. -[UbiquityBot](https://github.com/marketplace/ubiquibot) it's also available ready to install on the Githut Marketplace. +[Ubiquibot](https://github.com/marketplace/ubiquibot) it's also available ready to install on the Githut Marketplace. When using as a github app the flow is the following: -1. UbiquityBot is added to a repository as a github app +1. UbiquiBot is added to a repository as a github app 2. You run the bot "backend" (for example on your local machine) 3. Some event happens in a repository and the bot should react somehow (for example: on adding a time label to an issue the bot should add a price label) 4. Event details are sent to your deployed bot instance (to a webhook URL that was set in github app's settings) @@ -281,7 +281,7 @@ Make sure you have your local instance of ubiquibot running. ## Architecture Overview -Bounty bot is built using the [probot](https://probot.github.io/) framework so initially the bot is a github app +Ubiquibot is built using the [probot](https://probot.github.io/) framework, the bot is a github app
 <root>

From 9288bc7d23ba11a9ae8752d1c1caa735458baf8e Mon Sep 17 00:00:00 2001
From: Paul 
Date: Sun, 8 Oct 2023 15:02:47 +0000
Subject: [PATCH 10/34] test: update

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 7c92956ea..cff1c9c9b 100644
--- a/README.md
+++ b/README.md
@@ -264,7 +264,7 @@ For payment to work in your local instance, ubiquibot must be set up in a Github
 
 ## How to QA any additions to the bot
 
-Make sure you have your local instance of ubiquibot running.
+Make sure you have your local instance of [ubiquibot running](#quickstart).
 
 1. Fork the ubiquibot repo and add your local instance of ubiquibot to the forked repository.
 2. Enable Github action running on the forked repo and allow `issues` on the settings tab.

From c1c24bb8c96acea3ad879a995e2ca992cf240ed1 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Thu, 12 Oct 2023 10:29:34 +0000
Subject: [PATCH 11/34] test: update readme

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index cff1c9c9b..8daf50cc7 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ yarn start:watch
 
 ## Environment Variables
 
-- Copy `.env.example` to `.env` (do not rname .env.example, just make a copy)
+- Copy `.env.example` to `.env` (do not rename .env.example, just make a copy)
 - Update the following fields on `.env`:
 - `SUPABASE_URL`: Add your Supabase project URL.
 - `SUPABASE_KEY`: Add your Supabase project API key.

From d2a1955e5ed813fccc2f38e86c24c72a9d0ec6a0 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Sun, 22 Oct 2023 12:54:38 +0000
Subject: [PATCH 12/34] test: remove logna, update supabase

---
 README.md | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/README.md b/README.md
index 8daf50cc7..7ccc37f31 100644
--- a/README.md
+++ b/README.md
@@ -166,6 +166,7 @@ To test the bot, you can:
 `promotionComment` is a message that is appended to the payment permit comment.
 
 ## How to run locally
+
 ### Supase Database
 
 ### Option 1
@@ -180,6 +181,8 @@ SUPABASE_KEY="XXX"
 ```
 
 ### Option 2
+
+Supabase comes with a [readme](https://github.com/ubiquity/ubiquibot/blob/development/supabase/README.md) which is helpful for managing and setup
 ### This options will require you to have a local Docker installation (under the hood it is required by Supabase) refer to [Supabase Docs](https://supabase.com/docs)
 
 ```
@@ -193,19 +196,12 @@ yarn supabase status
 
 ![supabase](https://github.com/ubiquity/ubiquibot/assets/41552663/e8709b8f-e7c3-49e0-876c-c15dde22c6d2)
 
+## Supabase Studio
 
+You can then access to Supabase Studio by going to http://localhost:54323
 
-## Logs
-
-2. Create a new organization at [Mezmo](https://app.mezmo.com/). Add `LOGDNA_INGESTION_KEY` to the `.env` file:
-
-```
-
-LOGDNA_INGESTION_KEY ="XXX"
-
-```
 
-3. Add `FOLLOW_UP_TIME` and `DISQUALIFY_TIME` to the `.env` file if you don't want to use default ones.
+2. Add `FOLLOW_UP_TIME` and `DISQUALIFY_TIME` to the `.env` file if you don't want to use default ones.
 
 ```
 
@@ -214,16 +210,16 @@ DISQUALIFY_TIME="7 days" // 7 days
 
 ```
 
-4. `Make sure you have Node => 20 && yarn`
-5. Open 2 terminal instances:
+3. `Make sure you have Node => 20 && yarn`
+4. Open 2 terminal instances:
    - in one instance run `yarn build --watch` (compiles the Typescript code)
    - in another instance run `yarn start:watch` (runs the bot locally)
-6. Open `localhost:3000` and follow instructions to add the bot to one of your repositories.
+5. Open `localhost:3000` and follow instructions to add the bot to one of your repositories.
 
 At this point the `.env` files auto-fill the empty fields (`PRIVATE_KEY` and `APP_ID`) if it is not previously filled.
 Now you can make changes to the repository on GitHub (e.g. add a bounty) and the bot should react.
 
-7. After adding the bot (as a installed app) to your github you will need to restart the aforemention yarn start:watch so CTRL-C to stop the node daemon and `yarn start:watch` again
+6. After adding the bot (as a installed app) to your github you will need to restart the aforemention yarn start:watch so CTRL-C to stop the node daemon and `yarn start:watch` again
 
 You can, for example:
 

From 46865f64d260bca5face768082dc476b72b6b5dd Mon Sep 17 00:00:00 2001
From: Paul 
Date: Sun, 22 Oct 2023 12:57:16 +0000
Subject: [PATCH 13/34] test: remove logna

---
 README.md | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README.md b/README.md
index 7ccc37f31..8f15bae06 100644
--- a/README.md
+++ b/README.md
@@ -37,7 +37,6 @@ yarn start:watch
 - Update the following fields on `.env`:
 - `SUPABASE_URL`: Add your Supabase project URL.
 - `SUPABASE_KEY`: Add your Supabase project API key.
-- `LOGDNA_INGESTION_KEY`: Get it from [Mezmo](https://app.mezmo.com/) by creating an account, adding an organization, and copying the ingestion key.
 - `FOLLOWUP_TIME`: (optional) Set a custom follow-up time (default: 4 days).
 - `DISQUALIFY_TIME`: (optional) Set a custom disqualify time (default: 7 days).
 - `OPENAI_API_HOST`: (optional) Set OpenAI host url (default: https://api.openai.com).

From 2a7d379db8e87272988766ab09a96c0c86afa10c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?=
 =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+pavlovcik@users.noreply.github.com>
Date: Mon, 23 Oct 2023 23:37:03 +0900
Subject: [PATCH 14/34] Update ubiquibot-config.yml

A lot of people are working on issues that I already solved so we're going to temporarily pause bounties.

https://github.com/ubiquity/ubiquibot/pull/644
---
 .github/ubiquibot-config.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/ubiquibot-config.yml b/.github/ubiquibot-config.yml
index 5b48b5f30..c72441334 100644
--- a/.github/ubiquibot-config.yml
+++ b/.github/ubiquibot-config.yml
@@ -1,4 +1,7 @@
 price-multiplier: 1.5
+command-settings:
+  - name: start
+    enabled: false
 # newContributorGreeting:
 #  enabled: true
 #  header:  "Thank you for contributing to UbiquiBot! Please be sure to set your wallet address before completing your first bounty so that the automatic payout upon task completion will work for you."

From 479f031285b58892fac36d65874133b0ec5ddee6 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:23:17 +0000
Subject: [PATCH 15/34] test: update

---
 README.md | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 8f15bae06..9f8ff8cb4 100644
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@ After following the steps you should see
 ![setup7](https://github.com/ubiquity/ubiquibot/assets/41552663/bbcf0e40-456c-4dd4-93e4-75de87d4d340)
 
 
-If you go again to localhost:3000 after the bot is installed on your handle you shall see
+If you go again to http://localhost:3000 after the bot is installed on your handle you shall see
 
 ![ubiquity](https://github.com/ubiquity/ubiquibot/assets/41552663/f06250b9-1e3f-44c2-8ee8-efcf34baadd8)
 
@@ -91,10 +91,17 @@ Restart the server for the installation to take efect
 
 ![setup10](https://github.com/ubiquity/ubiquibot/assets/41552663/916cc5c3-dfdc-45c7-8d10-65afdce25e29)
 
-After aforemoention steps then installation shall be complete
+After aforemention steps then installation shall be complete
 
 ![setup11](https://github.com/ubiquity/ubiquibot/assets/41552663/0e88fec0-fa8b-4d34-8cc8-024c99b5b640)
 
+# Seeing this page below after hitting http://localhost:3000 again?
+
+![trylocal](https://github.com/ubiquity/ubiquibot/assets/41552663/e958e7e4-6d42-44d1-a5cf-a090911f062c)
+
+Congratulations! you successfully installed Ubiquibot (new or to an existing app)
+
+
 
 **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository.
 Instead, it is recommended to make a copy of the `.env.example` file and replace the values with the appropriate ones.

From 9ff9f10bd5fdc6c4ce7f35e16f2b2b87e68d1df0 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:24:07 +0000
Subject: [PATCH 16/34] test: update

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 9f8ff8cb4..6aa82f461 100644
--- a/README.md
+++ b/README.md
@@ -99,7 +99,7 @@ After aforemention steps then installation shall be complete
 
 ![trylocal](https://github.com/ubiquity/ubiquibot/assets/41552663/e958e7e4-6d42-44d1-a5cf-a090911f062c)
 
-Congratulations! you successfully installed Ubiquibot (new or to an existing app)
+### Congratulations! you successfully installed Ubiquibot (new or to an existing app)
 
 
 

From f65725836240af0494f67f74c22f51ac0b82f052 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:25:18 +0000
Subject: [PATCH 17/34] test: update

---
 README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 6aa82f461..7277da8be 100644
--- a/README.md
+++ b/README.md
@@ -58,7 +58,7 @@ If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically ge
 Should output:
 ![setup](https://github.com/ubiquity/ubiquibot/assets/41552663/febf0e61-0402-4b25-838a-a64c1c385984)
 
-You may proceed to go to localhost:3000 and you should see
+You may proceed to go to http://localhost:3000 and you should see
 
 ![setup1](https://github.com/ubiquity/ubiquibot/assets/41552663/4b9d7565-8bd4-4e2a-864d-a086fedfe24d)
 
@@ -95,7 +95,7 @@ After aforemention steps then installation shall be complete
 
 ![setup11](https://github.com/ubiquity/ubiquibot/assets/41552663/0e88fec0-fa8b-4d34-8cc8-024c99b5b640)
 
-# Seeing this page below after hitting http://localhost:3000 again?
+## Seeing this page below after hitting http://localhost:3000 again?
 
 ![trylocal](https://github.com/ubiquity/ubiquibot/assets/41552663/e958e7e4-6d42-44d1-a5cf-a090911f062c)
 
@@ -220,7 +220,7 @@ DISQUALIFY_TIME="7 days" // 7 days
 4. Open 2 terminal instances:
    - in one instance run `yarn build --watch` (compiles the Typescript code)
    - in another instance run `yarn start:watch` (runs the bot locally)
-5. Open `localhost:3000` and follow instructions to add the bot to one of your repositories.
+5. Open `http://localhost:3000` and follow instructions to add the bot to one of your repositories.
 
 At this point the `.env` files auto-fill the empty fields (`PRIVATE_KEY` and `APP_ID`) if it is not previously filled.
 Now you can make changes to the repository on GitHub (e.g. add a bounty) and the bot should react.

From bdc29ca8b83b27c43614ec510415470f5e632be2 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:25:57 +0000
Subject: [PATCH 18/34] test: update

---
 README.md | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/README.md b/README.md
index 7277da8be..fb0488523 100644
--- a/README.md
+++ b/README.md
@@ -82,11 +82,6 @@ After following the steps you should see
 
 ![setup7](https://github.com/ubiquity/ubiquibot/assets/41552663/bbcf0e40-456c-4dd4-93e4-75de87d4d340)
 
-
-If you go again to http://localhost:3000 after the bot is installed on your handle you shall see
-
-![ubiquity](https://github.com/ubiquity/ubiquibot/assets/41552663/f06250b9-1e3f-44c2-8ee8-efcf34baadd8)
-
 Restart the server for the installation to take efect
 
 ![setup10](https://github.com/ubiquity/ubiquibot/assets/41552663/916cc5c3-dfdc-45c7-8d10-65afdce25e29)

From c67738d039c88b5d10ad6046bcf38dc98616889d Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:28:10 +0000
Subject: [PATCH 19/34] test: update

---
 README.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index fb0488523..4c5a7b115 100644
--- a/README.md
+++ b/README.md
@@ -27,8 +27,10 @@ cd ubiquibot
 yarn
 yarn build (to compile your changes)
 
-yarn build --watch (to locally auto compile your changes)
+yarn build --watch (to locally auto compile your changes) 
 yarn start:watch
+
+## It's recommended to split terminals in your IDE while running above input
 ```
 
 ## Environment Variables

From 448371a4f7484e8103c127cb27aadecf44fd0dbe Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:29:37 +0000
Subject: [PATCH 20/34] test: update

---
 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 4c5a7b115..54a629dc5 100644
--- a/README.md
+++ b/README.md
@@ -57,6 +57,8 @@ yarn start:watch
 
 If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically generated when you install the app on your repository.
 
+## How to run locally
+
 Should output:
 ![setup](https://github.com/ubiquity/ubiquibot/assets/41552663/febf0e61-0402-4b25-838a-a64c1c385984)
 
@@ -168,8 +170,6 @@ To test the bot, you can:
 
 `promotionComment` is a message that is appended to the payment permit comment.
 
-## How to run locally
-
 ### Supase Database
 
 ### Option 1

From 7467ed3dd677b64f03482adec7a53337531dcbe4 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:32:33 +0000
Subject: [PATCH 21/34] test: update

---
 README.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index 54a629dc5..bcf1b1a37 100644
--- a/README.md
+++ b/README.md
@@ -59,6 +59,8 @@ If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically ge
 
 ## How to run locally
 
+### Register a new Github App
+
 Should output:
 ![setup](https://github.com/ubiquity/ubiquibot/assets/41552663/febf0e61-0402-4b25-838a-a64c1c385984)
 
@@ -100,6 +102,8 @@ After aforemention steps then installation shall be complete
 
 ### Congratulations! you successfully installed Ubiquibot (new or to an existing app)
 
+## Update an Existing Github App (bot)
+
 
 
 **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository.

From 59bfe74a7fae42271a74252ed3e861e6a1c6134f Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:34:40 +0000
Subject: [PATCH 22/34] test: update

---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index bcf1b1a37..2c84a3b9c 100644
--- a/README.md
+++ b/README.md
@@ -104,6 +104,9 @@ After aforemention steps then installation shall be complete
 
 ## Update an Existing Github App (bot)
 
+After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
+![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
+
 
 
 **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository.

From 7f1544a2d142a72f9bd7276293c8d6ca6dc18e1a Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:38:56 +0000
Subject: [PATCH 23/34] test: update

---
 README.md | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/README.md b/README.md
index 2c84a3b9c..8b2d2d111 100644
--- a/README.md
+++ b/README.md
@@ -107,6 +107,12 @@ After aforemention steps then installation shall be complete
 After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
 ![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
 
+![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)
+
+## The Good News it's after you install the bot by using an existing app you'll get
+
+![success](https://github.com/ubiquity/ubiquibot/assets/41552663/87e85b37-c077-41f1-a7dc-41047d8a3b20)
+
 
 
 **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository.

From ad73884c49885f636fa844acee88bf1ce8ad3832 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:40:21 +0000
Subject: [PATCH 24/34] test: update

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 8b2d2d111..0fa86533b 100644
--- a/README.md
+++ b/README.md
@@ -107,6 +107,8 @@ After aforemention steps then installation shall be complete
 After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
 ![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
 
+Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must)
+
 ![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)
 
 ## The Good News it's after you install the bot by using an existing app you'll get

From 2b6a2087aea90704be2914715266bc0316f8aa1a Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:41:04 +0000
Subject: [PATCH 25/34] test: update

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 0fa86533b..e04d90d78 100644
--- a/README.md
+++ b/README.md
@@ -107,7 +107,7 @@ After aforemention steps then installation shall be complete
 After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
 ![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
 
-Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must)
+Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must) and edit the webhook secret that you'll use at .env
 
 ![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)
 

From fe3861b6d8b9c5e15a711b63740ccee54ddebd33 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:42:51 +0000
Subject: [PATCH 26/34] test: update

---
 README.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/README.md b/README.md
index e04d90d78..ae1e4d0f5 100644
--- a/README.md
+++ b/README.md
@@ -111,6 +111,11 @@ Update the WebHook URL by the one auto-provided by the bot's installation page (
 
 ![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)
 
+Update APP_ID at .env accordingly
+
+![ubiqui](https://github.com/ubiquity/ubiquibot/assets/41552663/a760b497-84f2-4574-aa49-757be3dc3e71)
+
+
 ## The Good News it's after you install the bot by using an existing app you'll get
 
 ![success](https://github.com/ubiquity/ubiquibot/assets/41552663/87e85b37-c077-41f1-a7dc-41047d8a3b20)

From 6c24f5d3225222be676538da3c9fc149dd4600af Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:44:38 +0000
Subject: [PATCH 27/34] test: update

---
 README.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/README.md b/README.md
index ae1e4d0f5..cd5b77993 100644
--- a/README.md
+++ b/README.md
@@ -115,6 +115,11 @@ Update APP_ID at .env accordingly
 
 ![ubiqui](https://github.com/ubiquity/ubiquibot/assets/41552663/a760b497-84f2-4574-aa49-757be3dc3e71)
 
+In the same page it is super important that you re-generated and save a private key that you'll be using at .env you open the file and paste it
+
+![logo](https://github.com/ubiquity/ubiquibot/assets/41552663/716639d4-4646-4f14-bc3f-a39cfaf0fada)
+
+
 
 ## The Good News it's after you install the bot by using an existing app you'll get
 

From 2e83bb6e0888ba8febd5f25e02a3d8a31e7da5d8 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:47:23 +0000
Subject: [PATCH 28/34] test: update

---
 README.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/README.md b/README.md
index cd5b77993..6048b54bf 100644
--- a/README.md
+++ b/README.md
@@ -107,6 +107,11 @@ After aforemention steps then installation shall be complete
 After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
 ![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
 
+on your Github settings hit to:
+
+![repoaccess](https://github.com/ubiquity/ubiquibot/assets/41552663/bb389559-aaec-4bec-8ac0-97cefea63b16)
+
+
 Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must) and edit the webhook secret that you'll use at .env
 
 ![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)

From 601dc972d942d45e53ae9616182699b0d8bbbf0d Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 04:47:51 +0000
Subject: [PATCH 29/34] test: update

---
 README.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/README.md b/README.md
index 6048b54bf..a2d1eab48 100644
--- a/README.md
+++ b/README.md
@@ -111,6 +111,8 @@ on your Github settings hit to:
 
 ![repoaccess](https://github.com/ubiquity/ubiquibot/assets/41552663/bb389559-aaec-4bec-8ac0-97cefea63b16)
 
+Then at the same time hit to "APP SETTINGS"
+
 
 Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must) and edit the webhook secret that you'll use at .env
 

From 70132073f61700468dc5b0d2729c040fc35ae9b7 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 13:02:51 +0000
Subject: [PATCH 30/34] test: update readme

---
 README.md | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/README.md b/README.md
index a2d1eab48..b14fe2937 100644
--- a/README.md
+++ b/README.md
@@ -102,6 +102,7 @@ After aforemention steps then installation shall be complete
 
 ### Congratulations! you successfully installed Ubiquibot (new or to an existing app)
 
+
 ## Update an Existing Github App (bot)
 
 After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
@@ -126,6 +127,12 @@ In the same page it is super important that you re-generated and save a private
 
 ![logo](https://github.com/ubiquity/ubiquibot/assets/41552663/716639d4-4646-4f14-bc3f-a39cfaf0fada)
 
+Important things with private keys (.pem) at .env
+
+1. The private key gets automatically filled after the app is installed to a github handle
+2. The private key cannot be in spaces like that
+3. The private key is a string into its env var rather than a just opened info without "" otherwise it will not be recognized and you'll get unauthorized access
+
 
 
 ## The Good News it's after you install the bot by using an existing app you'll get

From 3e50e1500ea653408754f1bd678a358d963dc006 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 13:04:44 +0000
Subject: [PATCH 31/34] test: update readme

---
 README.md | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index b14fe2937..da26a2578 100644
--- a/README.md
+++ b/README.md
@@ -127,19 +127,18 @@ In the same page it is super important that you re-generated and save a private
 
 ![logo](https://github.com/ubiquity/ubiquibot/assets/41552663/716639d4-4646-4f14-bc3f-a39cfaf0fada)
 
-Important things with private keys (.pem) at .env
-
-1. The private key gets automatically filled after the app is installed to a github handle
-2. The private key cannot be in spaces like that
-3. The private key is a string into its env var rather than a just opened info without "" otherwise it will not be recognized and you'll get unauthorized access
-
-
 
 ## The Good News it's after you install the bot by using an existing app you'll get
 
 ![success](https://github.com/ubiquity/ubiquibot/assets/41552663/87e85b37-c077-41f1-a7dc-41047d8a3b20)
 
 
+**Important things with private keys (.pem) at .env**
+
+1. The private key gets automatically filled after the app is installed to a github handle but not as an existing app
+2. The private key cannot be in spaces like that
+3. The private key is a string into its env var rather than a just opened info without "" otherwise it will not be recognized and you'll get unauthorized access
+
 
 **Note:** When setting up the project, please do not rename the `.env.example` file to `.env` as it will delete the environment example from the repository.
 Instead, it is recommended to make a copy of the `.env.example` file and replace the values with the appropriate ones.

From 262a34725e6dee0a722ec7370077bab61df30176 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 13:06:53 +0000
Subject: [PATCH 32/34] test: update readme

---
 README.md | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index da26a2578..b7338995c 100644
--- a/README.md
+++ b/README.md
@@ -61,38 +61,38 @@ If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically ge
 
 ### Register a new Github App
 
-Should output:
+**Should output:**
 ![setup](https://github.com/ubiquity/ubiquibot/assets/41552663/febf0e61-0402-4b25-838a-a64c1c385984)
 
-You may proceed to go to http://localhost:3000 and you should see
+**You may proceed to go to http://localhost:3000 and you should see**
 
 ![setup1](https://github.com/ubiquity/ubiquibot/assets/41552663/4b9d7565-8bd4-4e2a-864d-a086fedfe24d)
 
-Click on Register a Github App
+**Click on Register a Github App**
 
 ![setup3](https://github.com/ubiquity/ubiquibot/assets/41552663/0052feba-e823-419b-acde-d997d68ac553)
 
-Provide the bot a name
+**Provide the bot a name**
 
 ![setup3](https://github.com/ubiquity/ubiquibot/assets/41552663/0052feba-e823-419b-acde-d997d68ac553)
 
 ![setup4](https://github.com/ubiquity/ubiquibot/assets/41552663/f65e166b-c3fb-4e22-9f49-d622e3922eb7)
 
-Select a handle where to install the bot
+**Select a handle where to install the bot**
 
-Select in which repo the bot shall be available
+**Select in which repo the bot shall be available**
 
 ![setup6](https://github.com/ubiquity/ubiquibot/assets/41552663/dce6b338-abd8-4b54-b990-2cc6cf686d30)
 
-After following the steps you should see
+**After following the steps you should see**
 
 ![setup7](https://github.com/ubiquity/ubiquibot/assets/41552663/bbcf0e40-456c-4dd4-93e4-75de87d4d340)
 
-Restart the server for the installation to take efect
+**Restart the server for the installation to take effect**
 
 ![setup10](https://github.com/ubiquity/ubiquibot/assets/41552663/916cc5c3-dfdc-45c7-8d10-65afdce25e29)
 
-After aforemention steps then installation shall be complete
+**After aforemention steps then installation shall be complete**
 
 ![setup11](https://github.com/ubiquity/ubiquibot/assets/41552663/0e88fec0-fa8b-4d34-8cc8-024c99b5b640)
 
@@ -105,25 +105,25 @@ After aforemention steps then installation shall be complete
 
 ## Update an Existing Github App (bot)
 
-After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)
+**After you hit http://localhost:3000 you have the option to edit an existing app (if you think you have already registered a bot and when to reuse that same app)**
 ![existing](https://github.com/ubiquity/ubiquibot/assets/41552663/f696f3c1-1941-4bf4-b7a8-95d88f63e030)
 
-on your Github settings hit to:
+**on your Github settings hit to:**
 
 ![repoaccess](https://github.com/ubiquity/ubiquibot/assets/41552663/bb389559-aaec-4bec-8ac0-97cefea63b16)
 
-Then at the same time hit to "APP SETTINGS"
+**hen at the same time hit to "APP SETTINGS"**
 
 
-Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must) and edit the webhook secret that you'll use at .env
+**Update the WebHook URL by the one auto-provided by the bot's installation page (this is a must) and edit the webhook secret that you'll use at .env**
 
 ![secret](https://github.com/ubiquity/ubiquibot/assets/41552663/41e9d872-f628-491e-8156-31bec8870ae7)
 
-Update APP_ID at .env accordingly
+**Update APP_ID at .env accordingly**
 
 ![ubiqui](https://github.com/ubiquity/ubiquibot/assets/41552663/a760b497-84f2-4574-aa49-757be3dc3e71)
 
-In the same page it is super important that you re-generated and save a private key that you'll be using at .env you open the file and paste it
+**In the same page it is super important that you re-generated and save a private key that you'll be using at .env you open the file and paste it**
 
 ![logo](https://github.com/ubiquity/ubiquibot/assets/41552663/716639d4-4646-4f14-bc3f-a39cfaf0fada)
 

From be0af736582ee6aa8a4a6343980889a5aae351d0 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 13:08:02 +0000
Subject: [PATCH 33/34] test: update readme

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index b7338995c..20d2b4167 100644
--- a/README.md
+++ b/README.md
@@ -136,7 +136,7 @@ If you are an external developer, `APP_ID`and `PRIVATE_KEY` are automatically ge
 **Important things with private keys (.pem) at .env**
 
 1. The private key gets automatically filled after the app is installed to a github handle but not as an existing app
-2. The private key cannot be in spaces like that
+2. The private key cannot be separated in spaces
 3. The private key is a string into its env var rather than a just opened info without "" otherwise it will not be recognized and you'll get unauthorized access
 
 

From 8683994246aa1312305bee7536c545cfec245335 Mon Sep 17 00:00:00 2001
From: Paul 
Date: Wed, 25 Oct 2023 17:04:31 +0000
Subject: [PATCH 34/34] chore: update

---
 .env.example | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.env.example b/.env.example
index b6102ad3d..f98c6d575 100644
--- a/.env.example
+++ b/.env.example
@@ -13,7 +13,6 @@ ANALYTICS_MODE=
 
 # Use `trace` to get verbose logging or `info` to show less
 LOG_LEVEL=debug
-LOGDNA_INGESTION_KEY=
 OPENAI_API_HOST=https://api.openai.com
 OPENAI_API_KEY=
 CHATGPT_USER_PROMPT_FOR_IMPORTANT_WORDS="I need your help to find important words (e.g. unique adjectives) from github issue below and I want to parse them easily so please separate them using #(No other contexts needed). Please separate the words by # so I can parse them easily. Please answer simply as I only need the important words. Here is the issue content.\n"