Rename greeptchat cog to assistant - generic AI chatbot branding

This commit is contained in:
2026-07-31 20:41:40 -05:00
parent 37a5682e3e
commit 7fa85d7dd9
6 changed files with 218 additions and 44 deletions
+174
View File
@@ -17,6 +17,13 @@ Homepage: https://homepage.kingstons-scrapyard.net/
- [Permissions Required](#permissions-required)
- [Scrapyard Cogworks Modifications](#scrapyard-cogworks-modifications)
**Assistant**
- [Assistant](#assistant)
- [Assistant Installation](#assistant-installation)
- [Assistant User Commands](#assistant-user-commands)
- [Assistant Admin/Owner Commands](#assistant-adminowner-commands)
- [Assistant Behavior](#assistant-behavior)
**TtsToy**
- [TtsToy](#ttstoy)
- [TtsToy User Commands](#user-commands-1)
@@ -560,6 +567,173 @@ The `[p]autoroom allow` command now accepts multiple users/roles in a single com
---
---
# Assistant
AI chatbot cog that responds in a dedicated channel or when the bot is @mentioned. Uses an OpenAI-compatible API backend. Designed for fun, unpredictable responses — crank the temperature and give it a wild system prompt.
### Features
- **Chat channel mode** — set a channel where the bot responds to every message
- **Ping mode** — responds when @mentioned in any channel
- **Custom system prompt** — control the bot's personality
- **Temperature control** — turn it up for chaotic/funny responses
- **Question mode** — optionally restrict responses to messages ending with `?`
- **Conversation history** — remembers the last 20 messages per channel (in memory only)
- **Long response handling** — automatically chunks replies over 2000 characters
### Requirements
- Python 3.11+
- Red-DiscordBot 3.5.0+
- Dependencies: `aiohttp`
---
## Assistant Installation
```
[p]cog install scrapyard assistant
[p]load assistant
```
---
## Assistant User Commands
The assistant responds automatically in the configured chat channel or when pinged. There are no user-invoked "chat" commands — just talk to it.
**In the chat channel:** Send any message and the bot replies.
**Anywhere else:** @mention the bot with your message.
```
@Bot what's the meaning of life?
```
If **question mode** is on, messages must end with `?` or they'll be ignored.
---
## Assistant Admin/Owner Commands
All commands are under the `[p]assistant` group.
---
### `[p]assistant setkey`
**Requires:** Bot Owner
Set the API key via a private modal dialog. The key is stored globally (shared across all servers the bot is in).
---
### `[p]assistant toggle`
Toggle the assistant on or off for the current server. Enabled by default.
---
### `[p]assistant channel [#channel]`
Set the dedicated chat channel where the bot responds to all messages.
- With a channel: sets that channel as the chat channel.
- Without a channel: clears the setting (bot only responds to @mentions).
**Examples:**
```
[p]assistant channel #bot-chat
[p]assistant channel
```
---
### `[p]assistant model <model>`
Set the AI model to use.
**Examples:**
```
[p]assistant model gemma4
[p]assistant model green-l
[p]assistant model green-r
```
---
### `[p]assistant temp <temperature>`
Set the response temperature.
- Range: `0.0` to `2.0`
- Lower values (0.1–0.5) = focused, predictable responses
- Higher values (1.2–2.0) = creative, chaotic, funny responses
**Examples:**
```
[p]assistant temp 0.3
[p]assistant temp 1.8
```
---
### `[p]assistant system <prompt>`
Set the system prompt that defines the bot's personality and behavior.
**Examples:**
```
[p]assistant system You are a helpful assistant.
[p]assistant system You are an unhinged gremlin who gives terrible life advice in the style of a 90s infomercial host. Everything is an emergency.
[p]assistant system You are a pirate who only speaks in nautical metaphors and refuses to acknowledge anything invented after 1750.
```
---
### `[p]assistant question`
Toggle question mode. When ON, the bot only responds to messages that end with `?`. Everything else is ignored.
This is a toggle — run again to disable.
---
### `[p]assistant clear`
Clear the conversation history for the current channel. The bot will forget all previous context.
---
### `[p]assistant settings`
Display the current configuration as an embed:
- Enabled (yes/no)
- Chat Channel
- API Key (set/not set)
- Model
- Temperature
- Question Mode (on/off)
- System Prompt (first 200 chars)
---
## Assistant Behavior
- **History:** The bot keeps the last 20 messages (user + assistant) per channel in memory. History is lost on cog reload/bot restart.
- **Typing indicator:** The bot shows "typing..." while waiting for the API response.
- **Long responses:** Replies over 2000 characters are split into multiple messages.
- **Error handling:** If the API is down or returns an error, the bot replies with the error info.
- **No response to bots:** The assistant ignores messages from other bots.
- **Per-guild settings:** Model, temperature, system prompt, channel, and question mode are all configured per server.
- **Global API key:** The API key is set once by the bot owner and applies to all servers.
---
---
---
# TtsToy
Multi-engine text-to-speech cog with voice cloning, emoji-triggered sound effects, inline voice switching, a TTS queue system, and a companion web UI. Plays audio in voice channels and uploads MP3 files to chat.