Compare commits
4 Commits
Author | SHA1 | Date |
---|---|---|
|
ebe707ae26 | |
|
6dab4b64b0 | |
|
c7d12c25f4 | |
|
b2c821991d |
|
@ -1,4 +1,4 @@
|
|||
# Group Up - An Event Scheduling Discord Bot | V1.1.4 - 2024/06/18
|
||||
# Group Up - An Event Scheduling Discord Bot | V2.0.0 - 2024/12/24
|
||||
[](https://sonarcloud.io/summary/new_code?id=GroupUp)
|
||||
[](https://sonarcloud.io/summary/new_code?id=GroupUp) [](https://sonarcloud.io/summary/new_code?id=GroupUp) [](https://sonarcloud.io/summary/new_code?id=GroupUp) [](https://sonarcloud.io/summary/new_code?id=GroupUp) [](https://sonarcloud.io/summary/new_code?id=GroupUp) [](https://sonarcloud.io/summary/new_code?id=GroupUp)
|
||||
|
||||
|
@ -43,7 +43,12 @@ If you run into any errors or problems with the bot, or think you have a good id
|
|||
---
|
||||
|
||||
## Self Hosting Group Up
|
||||
Group Up is built on [Deno](https://deno.land/) `v1.33.1` using [Discordeno](https://discordeno.mod.land/) `v17.0.1`. If you choose to run this yourself, you will need to rename `config.example.ts` to `config.ts` and edit some values. You will need to create a new [Discord Application](https://discord.com/developers/applications) and copy the newly generated token into the `"token"` field. If you want to utilize some of the bots dev features, you will need to fill in the keys `"logChannel"` and `"reportChannel"` with text channel IDs and `"devServer"` with a guild ID.
|
||||
Group Up is built on [Deno](https://deno.land/) using [Discordeno](https://discordeno.mod.land/) `v17.0.1`.
|
||||
|
||||
Group Up `V1.1.6` and lower requires Deno `V.33.1`.
|
||||
Group Up `V2.0.0` and up requires Deno `V2.0.0`.
|
||||
|
||||
If you choose to run this yourself, you will need to rename `config.example.ts` to `config.ts` and edit some values. You will need to create a new [Discord Application](https://discord.com/developers/applications) and copy the newly generated token into the `"token"` field. If you want to utilize some of the bots dev features, you will need to fill in the keys `"logChannel"` and `"reportChannel"` with text channel IDs and `"devServer"` with a guild ID.
|
||||
|
||||
You will also need to install and setup a MySQL database with a user for the bot to use to add/modify the database. This user must have the `"DB Manager"` admin rights and `"REFERENCES"` Global Privileges. Once the DB is installed and a user is setup, run the provided `db\initialize.ts` to create the schema and tables. After this, run `db\populateDefaults.ts` to insert some needed values into the tables.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
export const config = { // !! NOTICE !! All fields below are required unless they are explicitly noted as OPTIONAL. If a field is OPTIONAL, do not remove it from this file, just leave it at the default value
|
||||
'name': 'Group Up', // Name of the bot
|
||||
'version': '1.1.4', // Version of the bot
|
||||
'version': '2.0.0', // Version of the bot
|
||||
'token': 'the_bot_token', // Discord API Token for this bot
|
||||
'localToken': 'local_testing_token', // Discord API Token for a secondary OPTIONAL testing bot, THIS SHOULD BE DIFFERENT FROM "token"
|
||||
'prefix': '/', // Prefix for all commands, as this bot uses slash commands, this needs to be '/'
|
||||
|
@ -19,10 +19,10 @@ export const config = { // !! NOTICE !! All fields below are required unless the
|
|||
'creatorIcon': '', // Link to where the GroupUpSinglePerson.png (or similar image) is hosted
|
||||
},
|
||||
'defaultDateFormat': 'MONTH/DAY/YEAR', // Default format that Group Up will suggest to the user. Must match one of the options in the 'DateTimeFormats' enum inside 'src/buttons/event-creation/dateTimeUtils.ts'
|
||||
'logChannel': 0n, // Discord channel ID where the bot should put startup messages and other error messages needed, OPTIONAL
|
||||
'reportChannel': 0n, // Discord channel ID where reports will be sent when using the built-in report command, OPTIONAL
|
||||
'devServer': 0n, // Discord guild ID where testing of indev features/commands will be handled, used in conjunction with the DEVMODE bool in mod.ts, OPTIONAL
|
||||
'owner': 0n, // Discord user ID of the bot admin
|
||||
'logChannel': 0n, // Discord channel ID where the bot should put startup messages and other error messages needed. This value is a bigint, so please ensure you have a `n` after the ID you get from Discord. OPTIONAL
|
||||
'reportChannel': 0n, // Discord channel ID where reports will be sent when using the built-in report command. This value is a bigint, so please ensure you have a `n` after the ID you get from Discord. OPTIONAL
|
||||
'devServer': 0n, // Discord guild ID where testing of indev features/commands will be handled, used in conjunction with the DEVMODE bool in mod.ts. This value is a bigint, so please ensure you have a `n` after the ID you get from Discord. OPTIONAL
|
||||
'owner': 0n, // Discord user ID of the bot admin. This value is a bigint, so please ensure you have a `n` after the ID you get from Discord.
|
||||
'botLists': [ // Array of objects containing all bot lists that stats should be posted to, OPTIONAL
|
||||
{ // Bot List object, duplicate for each bot list
|
||||
'name': 'Bot List Name', // Name of bot list, not used
|
||||
|
|
2
deps.ts
2
deps.ts
|
@ -47,4 +47,4 @@ export type {
|
|||
|
||||
export { Client } from 'https://deno.land/x/mysql@v2.11.0/mod.ts';
|
||||
|
||||
export { initLog, log, LogTypes as LT } from 'https://raw.githubusercontent.com/Burn-E99/Log4Deno/V1.1.0/mod.ts';
|
||||
export { initLog, log, LogTypes as LT } from 'https://raw.githubusercontent.com/Burn-E99/Log4Deno/V2.0.0/mod.ts';
|
||||
|
|
|
@ -27,10 +27,12 @@ export const alternateEventBtnStr = 'Join as Alternate';
|
|||
export const noDescProvided = 'No description provided.';
|
||||
|
||||
// Member List generators
|
||||
const escapeMemberNameForDisplay = (memberName: string): string => memberName.replaceAll('\\', '').replaceAll('_', '\\_');
|
||||
export const generateMemberTitle = (memberList: Array<LFGMember>, maxMembers: number): string => `Members Joined: ${memberList.length}/${maxMembers}`;
|
||||
export const generateMemberList = (memberList: Array<LFGMember>): string => memberList.length ? memberList.map((member) => `${member.name} - <@${member.id}>`).join('\n') : noMembersStr;
|
||||
export const generateMemberList = (memberList: Array<LFGMember>): string =>
|
||||
memberList.length ? memberList.map((member) => `${escapeMemberNameForDisplay(member.name)} - <@${member.id}>`).join('\n') : noMembersStr;
|
||||
export const generateAlternateList = (alternateList: Array<LFGMember>): string =>
|
||||
alternateList.length ? alternateList.map((member) => `${member.name} - <@${member.id}>${member.joined ? ' *' : ''}`).join('\n') : noMembersStr;
|
||||
alternateList.length ? alternateList.map((member) => `${escapeMemberNameForDisplay(member.name)} - <@${member.id}>${member.joined ? ' *' : ''}`).join('\n') : noMembersStr;
|
||||
|
||||
// Fields for event creation and editing modals
|
||||
export const eventTimeId = 'eventTime';
|
||||
|
|
Loading…
Reference in New Issue