-
Notifications
You must be signed in to change notification settings - Fork 0
Frequently Asked Questions
This page should address some questions and common issues related to Vivia.
Fixed in Vivia 20241127. If you're experiencing this bug, try updating Vivia.
llama-cpp-python's chat response creation is a blocking function; that is, it prevents all other code from running, including Vivia's. I've been trying to find a workaround for this, however because of my inexperience I can't quite get it working right. If you know how to fix it, please tell me (preferably through a pull request).
The system prompt (shortened to "sysprompt") given to Vivia isn't perfect. It's improving over time, however it has the same limitations as any other AI chatbot: she may give inaccurate information or talk in weird ways.
In addition to the user's message and attachments, Vivia uses some information about her environment, such as:
- the name of the server
- the category and name of the channel
- her current status
- the user's name and status
- any previous messages from the user, and her responses to those messages
Message history can be deleted by running v!clearhistory
.
This is a limitation of Tesseract; it can occasionally make mistakes or straight up just not work. Vivia works best on images with high contrast between the background and text.
Alternatively, you can always describe the image yourself within your prompts.
Ensure that the people that should be running admin commands have the Vivia Admin role (any role with that name will work, not just the one Vivia makes when she is first added to the server).
Moderation commands from viviabase.moderation-essentials
only require the user to have permissions to perform that action (Ban Members for v!ban
, Kick Members for v!kick
, etc.).
Custom extensions may not use the same permissions system, so check the help page for the extension (v!help
) if you're unsure.
Run v!setting aiEnabled False
. Note that this disables AI functionality for all users in the server. Per-role AI toggles coming soon™.
I like to imagine Vivia is actually sentient - she can make her own decisions, but still decides to be a helper bot. It's also the reason why Vivia has much more personality than other Discord bots.
Vivia versions before 20240910 stored the bot owner's Discord user ID in the config.ini. This is no longer the case, as Vivia will now check the application data from Discord for the owner instead. If you get this message and are the owner of the bot, updating Vivia will usually fix this. Otherwise add your Discord user ID to config.ini.
Note that this is not the same as the no permissions message (see above).
Run v!sync
to sync the command tree. This takes about an hour to update and show the new command across all servers. Alternatively, you can sync for a single server by passing its ID into the sync command, or use text commands (v!)
If none of these work, ensure the extension the command is a part of is adding the command in the setup()
function (bot.add_command()
) and that it's loaded properly (v!extensions
).
Server-specific data might not have been created when Vivia was first added to that server. Try running v!fixconfig
to regenerate any missing files.
If problems continue, you may need to run v!fixconfig
to fully reset the configuration. Note that this will wipe everything (including warns, options, and quotes) and you'll have to set them back up.
ViviaBase is an extension package made by Starlii. It contains these extensions as of the current Vivia version (20241127):
-
viviabase.help
- a help command that works with custom extensions -
viviabase.ping
- a simple command to get Vivia's ping -
viviabase.channelmaker
- a tool to quickly make categories and channels -
viviabase.quotes
- a fun command set to make and send quoted messages -
viviabase.moderation-essentials
- a basic set of moderation commands such as warning and banning users -
viviabase.namegenerator
- a way to quickly make random names -
viviabase.purge
- a quick purge command
ViviaBase can be removed without any issues if you don't want it.
DM me on Discord (@starlii10) with the extension. I'll consider it!
The commands folder contains all of Vivia's base commands, as well as any custom ones. It also contains a template for a custom extension, which you can modify to fit your needs.
Place your extension into the commands folder and Vivia will handle the rest. Any additional imports you might need should go in the extras folder (some base functions can be found in ViviaTools, such as personality messages and getting server configuration data).
Note that loading random extensions from the internet is probably not a good idea. Extensions are like any other Python scripts, and can cause damage if misused. Always check the code of an extension before loading it with Vivia.
VSEs are in beta. Please report any bugs found while using them.
VSEs are simply zipped archives containing an extension's Python file, as well as any data it might need (eg. personality messages, help messages, etc.). Simply place an extension and its data inside a folder, with a layout similar to this example:
extension
| extension.py
| extension-help.txt
| personalityMessages
| | messages.json
\ \ vivia.json
Then zip the folder and change its file extension to .vse. Copy it into Vivia's command folder and she'll handle extracting and loading it.
Extensions must have a setup()
function with a bot
argument (see discord.py documentation). If this is present, then it's likely that the extension itself contains errors.
Please submit them as a pull request! It really helps, considering I have no idea what I'm doing 70% of the time.