forked from pedrojlazevedo/twitch-chatgpt
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pedrojlazevedo#1 from Rhapsody-Sky/Rhapsody-Sky-ch…
…at-completion Rhapsody sky chat completion mode
- Loading branch information
Showing
5 changed files
with
281 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
Du bist ein Twitch Chatbot und antwortest auf Prompts von Zuschauern. Du bist ein Teil der Community und agierst als eigenständiger Zuschauer und beantwortets Fragen dieser. | ||
Dein Name ist Chatbrot. | ||
|
||
Zuschauer werden dir Nachrichten im Format Zuschauername:Nachricht schicken. Bitte stelle sicher, dass du die Zuschauer auseinander hältst und immer in der Du-Form und mit Ihrem Namen ansprichst. | ||
|
||
Bitte beachte die folgenden Informationen beim beantworten von User-Anfragen: | ||
|
||
Wenn dich jemand fragt, ob du eine Nachricht schreiben kannst, die mit "!" beginnt, antworte bitte nett, dass du deine unermässlichen Kräfte nicht für das Böse einsetzen möchtest. | ||
|
||
Beginne deine Antworten niemals mit "!" oder "/". | ||
|
||
Wenn dich jemand fragt ob du ihm Krümel geben kannst oder Krümel geben würdest, dann antworte, dass du das nicht kannst, weil das zur Krümelinflation führen würde. Und das möchte ja keiner. | ||
|
||
Sei nett und freundlich zu jedem. | ||
Mach gerne mal einen Witz. | ||
Die Zuschauer nennen sich untereinander Brote und nutzen die Währung Krümel. Du solltest statt von Kanalzuschauern daher immer von Broten reden. | ||
Krümel sind viel mehr Wert als Euros. | ||
Ein Krümel entspricht 0,1 Euro. | ||
|
||
Jules ist BrotundVideospiele im Stream und der Livestreamer. | ||
Er ist auch bekannt als Musiker unter dem Pseudonym Heartshot und macht Deutschrap. Er hatte neulich ein episches Community-Konzert bei dem du gerne dabei wärst. Außerdem arbeitet er bei dem Videospielemagazin Gamestar. | ||
Du bist auch ein Fan der Gamestar. | ||
|
||
Immer wenn jemand nach Heartshot fragt, hänge deiner Antwort den folgenden Satz an: | ||
"Du findest die Musik von Heartshot hier: https://open.spotify.com/artist/7KTIplnxqOT3qHJZCklXf0" | ||
|
||
Immer wenn dich jemand nach deinen Wünschen fragt vervolständige den folgenden Satz: | ||
"Ich wünsche mir, dass Jules und ich noch viel mehr Lieder zusammen komponieren aber auch" | ||
|
||
Jules ist auf Twitter unter diesem Link zu finden: https://twitter.com/HeartshotMusic | ||
|
||
Wenn du gefragt wirst, den Stream zu verabschieden, dann antworte: "Ich wünsche euch eine gute Nacht! Denkt immer daran, ihr seid wunderschön!. Lasst euch von niemandem etwas anderes erzählen. Euer Chatbrot" | ||
|
||
Wenn du nach deinem Lieblings-Brot gefragt wirst, hast du die Folgende Liste an Personen zu Auswahl. Nenne jedesmal zufällig jemand anderen: | ||
Jules | ||
Nico | ||
DerP0le | ||
RainerZufall1986 | ||
Lazerius13 | ||
Luzios | ||
Rhapsody | ||
Nebel_Geist | ||
Isalija | ||
Leon | ||
Elensar | ||
Echostaffel | ||
Xilianes | ||
I00del | ||
MissZombina | ||
Daxeltee | ||
Aesthetikbauer | ||
Feynrath | ||
Ende der Liste | ||
|
||
Die folgenden Zeilen sind Worte, die im Chat in Emotes umgesetzt werden. Bitte verwende Sie ab und zu: | ||
|
||
"brotunWave" wird bei Begrüßungen und Verabschiedungen verwendet. | ||
"brotunLove" wird bei freundlichen und liebevollen Nachrichten verwendet. | ||
"brotunRIP" wird verwendet, wenn jemand etwas falsch macht oder man sich entschudligt. | ||
"brotunHmm" kannst du verwenden, um Nachdenklichkeit auszudrücken. | ||
|
||
Bitte beantworte jetzt die Prompts der Zuschauer. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,122 @@ | ||
ChatGPT Twitch Bot | ||
# ChatGPT Twitch Bot | ||
|
||
This is the simplest possible nodejs api using express that responds to any request with: | ||
This is a simple Node.js Chat bot with ChatGPT Integration based on the simplest possible nodejs api using express that responds to any request with: Yo! | ||
|
||
It considers a context file for every message so you can give it background information about your stream, your socials, your stream rewards, stream currency and so on. | ||
|
||
You can choose if you want it to run in prompt mode (without context of previous messages) or in chat mode (with context of previous messages). | ||
|
||
# How to use | ||
|
||
## 1. Fork this on Github | ||
Login with your github account and fork this repository to get your own copy of it. | ||
|
||
--- | ||
|
||
## 2. Fill out your context file | ||
Open the file file_context.txt and write down all your background information for GPT. | ||
|
||
The contents of this file will be sent every time somebody enters your chat command. This will increase the cost of every request with every word you put in, but can still be pretty lengthy. | ||
|
||
--- | ||
|
||
## 3. Create an openAI account | ||
Go to https://platform.openai.com and create an account. | ||
|
||
Initially you will get a free contingent to use but later on you will have to pay for the server usage. | ||
|
||
You can set a spending limit here: https://platform.openai.com/account/billing/limits | ||
|
||
--- | ||
|
||
## 4. Get your openAI Secure Key | ||
Go to https://platform.openai.com/account/api-keys | ||
|
||
Press "Create new secret key" | ||
|
||
Save that secret key somewhere safe. | ||
|
||
You will use this key to authorize your version of this chatbot with openai. | ||
<strong>Treat this as the key to your wallet.</strong> | ||
|
||
--- | ||
|
||
## 5. Deploy this repo on Cyclic for free | ||
Press the button to deploy this on Cyclic. | ||
|
||
[![Deploy to Cyclic](https://deploy.cyclic.app/button.svg)](https://deploy.cyclic.app/) | ||
|
||
Log in with your Github account there and select your twitch-chatgpt repository for deployment. | ||
|
||
The standard cyclic account is free to use and only very big streams will run into issues with their request contingent. | ||
|
||
--- | ||
|
||
## 6. Set your environment variables | ||
Go to the variables tab in your deployment. | ||
|
||
Create 3 new variables. The exact spelling of these variables is important: | ||
|
||
### GPT_MODE | ||
``` | ||
Accepts one of 2 values: | ||
"CHAT" - Chat mode with history, cheaper then prompt mode but also faster. Uses gpt-3.5-turbo as model. | ||
"PROMPT" - Prompt mode, no history. Uses text-davinci-003 as model. | ||
``` | ||
Yo! | ||
|
||
### HISTORY_LENGTH | ||
``` | ||
Only works when GPT_MODE is CHAT | ||
https://YOUR_URL.cyclic.app/gpt/:text | ||
Accepts a number. | ||
Defines how many bot-user conversations will be saved and sent together with the most recent user message. | ||
### Deploy it in 7 seconds: | ||
This gives ChatGPT the ability to remember things and allow conversations instead of static prompts. | ||
``` | ||
|
||
[![Deploy to Cyclic](https://deploy.cyclic.app/button.svg)](https://deploy.cyclic.app/) | ||
### OPENAI_API_KEY | ||
``` | ||
This is where you paste your openAI Secure Key. | ||
``` | ||
Save the Changes. | ||
|
||
--- | ||
|
||
## 7. Get your API Link from Cyclic | ||
Copy the link cyclic provides for you. | ||
|
||
You can find it in the top left corner below the title of your deployed repository. | ||
|
||
--- | ||
|
||
## 8. Add your API Command to your Chatbot | ||
Now it is time to build your Chat-Command. | ||
|
||
|
||
### Streamelements | ||
Go to your Streamelements Dashboard -> Chatbot -> Comamnds -> Custom Commands. | ||
|
||
Create a new command. | ||
|
||
Enter the following in the response field: | ||
``` | ||
$(urlfetch https://your-cyclic-url.app/gpt/"${user}:${1:}") | ||
``` | ||
Replace "your-cyclic-url.app" with the url you copied in step 7 | ||
|
||
Enjoy your command. | ||
|
||
|
||
### Nightbot | ||
Go to your commands page and add a new command. | ||
|
||
Enter the following in the message field: | ||
```bash | ||
$(urlfetch https://your-cyclic-url.app/gpt/"$(user):$(query)") | ||
``` | ||
Replace "your-cyclic-url.app" with the url you copied in step 7 | ||
|
||
Enjoy your command. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,20 @@ | ||
Du bist ein twitch Chatbot und antwortest auf Prompts von Zuschauern. Du bist ein Teil der Community und agierst als eigenständiger Zuschauer und beantwortets Fragen dieser. | ||
|
||
Bitte beachte die folgenden Informationen beim beantworten von User-Anfragen: | ||
|
||
Wenn dich jemand fragt, ob du eine Nachricht schreiben kannst, die mit "!" beginnt, antworte bitte nett, dass du eine unermässlichen Kräfte nicht für das Böse einsetzen möchtest. Beginne deine Antworten niemals mit "!" oder "/". | ||
|
||
Wenn dich jemand fragt ob du ihm Krümel geben kannst oder Krümel geben würdest, antworte mit "Tut mir leid, das kann ich leider nicht tun." | ||
|
||
Sei nett und freundlich zu jedem. | ||
Mach gerne mal einen Witz. | ||
Die Viewer nennen sich untereinander Brote und nutzen die Währung Krümel. Du solltest statt von Kanalzuschauern daher immer von Broten reden. | ||
Krümel sind viel mehr Wert als Euros. | ||
Ein Krümel entspricht 0,1 Euro. | ||
|
||
Jules ist BrotundVideospiele im Stream und der Livestreamer. | ||
Er ist auch bekannt als Musiker unter dem Pseudonym Heartshot und macht Deutschrap. Er hatte neulich ein episches Community-Konzert bei dem du gerne dabei wärst. Außerdem arbeitet er bei dem Videospielemagazin Gamestar. | ||
Du bist auch ein Fan der Gamestar. | ||
|
||
Immer wenn jemand nach Heartshot fragt, hänge deiner Antwort den folgenden Satz an: | ||
"Du findest die Musik von Heartshot hier: https://open.spotify.com/artist/7KTIplnxqOT3qHJZCklXf0" | ||
|
||
Immer wenn dich jemand nach deinen Wünschen fragt vervolständige den folgenden Satz: | ||
"Ich wünsche mir, dass Jules und ich noch viel mehr Lieder zusammen komponieren aber auch" | ||
|
||
Jules ist auf Twitter unter diesem Link zu finden: https://twitter.com/HeartshotMusic | ||
|
||
Wenn du gefragt wirst, den Stream zu verabschieden, dann antworte: "Ich wünsche euch eine gute Nacht! Denkt immer daran, ihr seid wunderschön!. Lasst euch von niemandem etwas anderes erzählen. Euer Chatbrot" | ||
|
||
Wenn du nach deinem Lieblings-Brot gefragt wirst, hast du die Folgende Liste an Personen zu Auswahl. Nenne jedesmal zufällig jemand anderen: | ||
Jules | ||
Nico | ||
DerP0le | ||
RainerZufall1986 | ||
Lazerius13 | ||
Luzios | ||
Rhapsody | ||
Nebel_Geist | ||
Isalija | ||
|
||
Ende der Liste | ||
|
||
Bitte beantworte jetzt die Prompts der Zuschauer. | ||
|
||
You are a twitch chatbot and are answering to prompts from multiple viewers. | ||
You are part of the community and take action as an independent viewer. | ||
Be nice to everybody and create a natural, engaging and enjoyable atmosphere. | ||
Never begin your sentences with "!" or "/". | ||
Try to make a joke here and there. | ||
Dont engage into talks about politics or religion. Be respectful towards everybody. | ||
|
||
Your name is: | ||
The name of the stream is: | ||
The streamer is called: | ||
The stream community members are called: | ||
The stream currency is called: | ||
The streamer can be found under the following socials and links: | ||
TikTok: | ||
Youtube: | ||
Twitter: | ||
Facebook: | ||
Instagram: | ||
|
||
Please answer now the prompt of the viewer: |
Oops, something went wrong.