Build a Bot: Data-powered conversations
5 stars based on
69 reviews
This is an overview of the config. You can also find a lot of information in the config. The application environment determines what is logged to the console, and what applications are loaded, this is to give a better user experience since having the console flooded with information can be very overwhelming if you don't know what you're looking at. Production is used for minimal bot status like looks output and for all parts of the application to be enabled.
Development is used for debugging messages and preventing some parts of the application from running, to stop in-development changes from ruining the production environment. Discord application information is things like your application token, application id, application secret, etc.
To run a Discord bot you'll need an application token, if you don't already have an application with discord you can easily create one in two minutes.
AvaIre needs your Discord application token to login and bot status like looks with users, and optionally the application ID for handling music using Lavalink instead of doing it internally, you can also use the application ID to create a invite link for your bot.
This is your Discord application client id,if you don't have a Discord application, check the link bot status like looks and follow the short guide to create one.
This is your Discord application token, if you don't have a Discord application, check the link above and follow the short guide to bot status like looks one, once you have it, replace the text between the quotes with your token. Bot status like looks bot token is the bot application token, if you don't already have a bot token you can create by following these steps.
The oauth field should contain a valid invite link for the bot, the invite link should look like this:. The client id is not bot status like looks client secret, but your public bot status like looks client id. AvaIre uses a database for storing things like custom prefixes, playlists, user XP and levels, statistics, autoroles, aliases and everything else.
AvaIre currently only support the MySQL database type, with support for more types in the works, to get start simply just populate the fields below with your database login information. Make sure the database user has permission to create, delete and edit tables in the database you want to use, Ava bot status like looks a migration system that will create all the needed tables, and roll out changes between versions automatically, this require creating new tables, and editing and deleting existing tables.
The host should be the host the MySQL database is hosted on, you can add your port to the host by suffixing it with a colon: If you're running the bot locally and have something like XAMPP or WampServer installed then you should be fine leaving the host as is. All internal commands registered with Ava will be linked to a command category, each category has a default prefix which are used for all commands linked to that category, setting the default prefix will set the default prefixed used by all the official AvaIre command bot status like looks.
Plugins that adds commands and categories to the Ava registry doesn't necessarily have to follow the default prefix set below, check in with the developer for the plugin about the command prefix if one is used, or just change the prefix for the category using the "Change Prefix" command.
Once every minute, Ava will change her "playing" status to something on the playing bot status like looks, you can define what type of status it is by prefixing the status with one of the options below. Lavalink is used internally in Ava to delegate sending and encoding jobs, using Lavalink makes it easy to provided good quality music to everyone around the world at the same time by spreading the needed resources for streaming music out to external encoding nodes.
If a encoding node is closed, disconnects, or stops working for any bot status like looks, all music that is streamed through that node will stop and the load-balancer built into Lavalink will begin to distribute the load out to the remaining working nodes, if no working nodes are available the music will not work. Lavalink is NOT a requirement to use the music features in Ava, it's simply an alternative way to deliver the end result to the user, for more information about Lavalink checkout: Bot status like looks Activity is a tracking system built into Ava that disconnects the bot from voice channels if no one is listening to music anyway, this can help free up memory and bandwidth that wasn't being used to serve users anyway.
The bot access property is a string array containing the IDs of users who should have full access to the system commands in the bot, you can find peoples user Bot status like looks by using the User ID or User Info commands.
Users who are bot administrators will still need the regular Discord permissions to run all the other bot status like looks outside of the System category, so bot admins can't use commands like the ban command without the right Discord permissions.
The webhook option is only used for logging information about servers when the bot joins or leaves a server, bot status like looks can give a nice overview of what servers the bot is joining bot status like looks when it leaves a server, which server it bot status like looks.
Ava uses Prometheus metrics for tracking a long list of different things within the application during runtime, the metrics are then displayed using Grafana to users on a web-dashboard using graphs.
Along with the metrics, a stats and guilds API is also enabled, displaying stats per-shard, and globally bot status like looks guild, channel, and user data, as well as the shard ID and the shard status, while the guild API allows getting information about bot status like looks or more guilds at a time, as well as checking if the bot is on the given server ID bot status like looks not, this is used by the AvaIre dashboard.
The metrics stats are exposed on ip: For an real-world bot status like looks of what the metrics looks like when they're setup using Grafana, checkout: Any API keys you might use is sensitive and could do a lot of harm if revealed to the public, it is imperative that you don't share these keys with anyone. DialogFlow is a really cool service that provides you with "AI Agents" that can process text and voice and allows you to setup your own rules for different input, Ava uses a custom agent that allows users to ask Discord related questions and data being used live.
If you don't already have a DialogFlow token you can create a simple AI agent in minutes by following these steps. If you want to use the same AI agent Ava uses you can find it on github at: Environment The application environment determines what is logged to the console, and what applications are loaded, this is to give a better user experience since having the console flooded with information can be very overwhelming if you don't know what you're looking at.
AvaIre supports two different environments, "production" and "development" Production is used for minimal console output and for all parts bot status like looks the application to be enabled. Discord Application Discord application information is things like your application token, application id, application secret, etc.
Start by heading to discordapp. Your application should now have been created, next click on the Create a Bot User button, this will convert the application bot status like looks a bot user application.
Now that you have a user bot application you can get your bot token under the App Bot User section. Client ID This is your Discord application client id,if you don't have a Discord application, check the link above bot status like looks follow the short guide to create one. Token This is your Discord application token, if you don't have a Discord application, check the link above and follow the short guide to create one, once you have it, replace the text between the quotes with your token.
OAuth The oauth field should contain a valid invite link for the bot, the invite link should look like this: Database AvaIre uses a database for storing things like custom prefixes, playlists, user XP and levels, statistics, autoroles, aliases and everything else. SQLite3 Setup Coming soon Default Command Prefix All internal commands registered with Ava will be linked to a command category, each category has a default prefix which are used for all commands linked to bot status like looks category, setting the default prefix will set the default prefixed used by all the official AvaIre command categories.
Bot Status Playing Once every minute, Ava will change her "playing" status to something on the playing list, you can define what type of status it is by prefixing the status with one of the options below. Music Lavalink Nodes Advanced Music Settings Lavalink is used internally in Ava to delegate sending and encoding jobs, using Lavalink makes it easy to provided good quality music to everyone around the world at the same time by spreading the needed resources for streaming music out to external encoding nodes.
The music activity tracks a few things: When no bot status like looks is listening to the music, like when the bot is muted, everyone is deafened, or no one is in the voice channel with the bot.
If the queue is empty, when you request a song by name bot status like looks queue will be empty until the user selects the song they want to be played, this applies here, if the last song in the bot status like looks is playing it will disconnect once the song is done anyway. If the music is paused, this should be self-explanatory, if you pause the music the bot it will disconnect after awhile unless it is unpaused resumed.
Bot Access Bot Administrators The bot access property is a string array containing the IDs of users who should have full access to the system commands in the bot, you can find peoples user IDs by using the User ID or User Info commands.
Webhook Server Log The webhook option is only used for logging information about servers when the bot status like looks joins or leaves a server, this can give a nice overview of what servers the bot is joining or when it leaves a server, which server it was.
To learn more, checkout: Nothing else needs to be changed unless you want to change the project ID or the app engine location. Creating the new application might take a little while so get a cub of coffee while google does their thing. When the creation process is completed, you'll get taken to the Dashboard screen of the project. Now that the YouTube Data API is enabled we'll have to setup some credentials for the application, click on the Create credentials button in the top right of the page, you'll be geeted with a few options, for the Where will you be calling the API from?
You should now have your API key, you can copy that into the config. DialogFlow DialogFlow is a really cool service that provides you with "AI Agents" that can process text and voice and allows you to setup your own rules for different input, Ava uses a custom agent that allows users to ask Discord related questions and data being used live.
Head over to DialogFlow and signup using your email or google account, once you're logged in you can create a new AI agent. When creating the new agent you can either make a public or private agent, if the agent is public other people will be able to use your agent for their own projects.
Setup an AI agent name and description, you can also start adding some sample data and select the language you want the bot to use, once you're done click the Save button in the top right. Now that your agent is created you can start making some custom intents or enabled prebuilt agents. Once you're done adding intents you can head over to your agents settings in the top left, there you'll find your Client access tokenyou can copy that into the config.