Code Coverage and Clean References (#120)
* Add: skeleton suite for command tests (#119) * test naming updated * fix imports, remove old references * added code coverage badge * Add: coverage environment * Fix: Readme hyperlink to coverage workflow * grab coverage pct from env * Update: gist hyperlink * color range on coverage * fix contributing, simplify coverage assessment * lmiit coverage to master, add branch naming conventions --------- Co-authored-by: Kevin Dang <77701718+kevinthedang@users.noreply.github.com>
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
import { Client, GatewayIntentBits } from 'discord.js'
|
||||
import { UserMessage, registerEvents } from './utils/events.js'
|
||||
import Events from './events/index.js'
|
||||
import { Ollama } from 'ollama'
|
||||
import { Queue } from './queues/queue.js'
|
||||
|
||||
// Import keys/tokens
|
||||
import { UserMessage, registerEvents } from './utils/index.js'
|
||||
import Events from './events/index.js'
|
||||
import Keys from './keys.js'
|
||||
|
||||
|
||||
@@ -26,13 +24,7 @@ const ollama = new Ollama({
|
||||
// Create Queue managed by Events
|
||||
const messageHistory: Queue<UserMessage> = new Queue<UserMessage>
|
||||
|
||||
/**
|
||||
* register events for bot to listen to in discord
|
||||
* @param messageHistory message history for the llm
|
||||
* @param Events events to register
|
||||
* @param client the bot reference
|
||||
* @param Keys tokens from .env files
|
||||
*/
|
||||
// register all events
|
||||
registerEvents(client, Events, messageHistory, Keys, ollama)
|
||||
|
||||
// Try to log in the client
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, ApplicationCommandOptionType } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openConfig } from '../utils/index.js'
|
||||
import { openConfig, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const Capacity: SlashCommand = {
|
||||
name: 'modify-capacity',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, TextChannel } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { clearChannelInfo } from '../utils/index.js'
|
||||
import { clearChannelInfo, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const ClearUserChannelHistory: SlashCommand = {
|
||||
name: 'clear-user-channel-history',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, ApplicationCommandOptionType } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openConfig } from '../utils/index.js'
|
||||
import { openConfig, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const Disable: SlashCommand = {
|
||||
name: 'toggle-chat',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ApplicationCommandOptionType, ChannelType, Client, CommandInteraction } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openConfig } from '../utils/index.js'
|
||||
import { openConfig, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const MessageStream: SlashCommand = {
|
||||
name: 'message-stream',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, ApplicationCommandOptionType } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openConfig } from '../utils/index.js'
|
||||
import { openConfig, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const MessageStyle: SlashCommand = {
|
||||
name: 'message-style',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, TextChannel, ThreadChannel } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openChannelInfo } from '../utils/index.js'
|
||||
import { openChannelInfo, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const ThreadCreate: SlashCommand = {
|
||||
name: 'thread',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChannelType, Client, CommandInteraction, TextChannel, ThreadChannel } from 'discord.js'
|
||||
import { SlashCommand } from '../utils/commands.js'
|
||||
import { openChannelInfo } from '../utils/index.js'
|
||||
import { openChannelInfo, SlashCommand } from '../utils/index.js'
|
||||
|
||||
export const PrivateThreadCreate: SlashCommand = {
|
||||
name: 'private-thread',
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { embedMessage, event, Events, normalMessage, UserMessage } from '../utils/index.js'
|
||||
import { getChannelInfo, getServerConfig, getUserConfig, openChannelInfo, openConfig, UserConfig, getAttachmentData } from '../utils/index.js'
|
||||
import { clean } from '../utils/mentionClean.js'
|
||||
import { TextChannel } from 'discord.js'
|
||||
import { embedMessage, event, Events, normalMessage, UserMessage, clean } from '../utils/index.js'
|
||||
import { getChannelInfo, getServerConfig, getUserConfig, openChannelInfo, openConfig, UserConfig, getAttachmentData } from '../utils/index.js'
|
||||
|
||||
/**
|
||||
* Max Message length for free users is 2000 characters (bot or not).
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { event, Events, registerCommands } from '../utils/index.js'
|
||||
import { ActivityType } from 'discord.js'
|
||||
import { event, Events, registerCommands } from '../utils/index.js'
|
||||
import commands from '../commands/index.js'
|
||||
|
||||
// Log when the bot successfully logs in and export it
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { getEnvVar } from './utils/env.js'
|
||||
import { getEnvVar } from './utils/index.js'
|
||||
|
||||
export const Keys = {
|
||||
clientToken: getEnvVar('CLIENT_TOKEN'),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UserMessage } from './events.js'
|
||||
import { UserMessage } from './index.js'
|
||||
|
||||
export interface UserConfiguration {
|
||||
'message-stream'?: boolean,
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
import { resolve } from 'path'
|
||||
import { config } from 'dotenv'
|
||||
|
||||
// Find config - ONLY WORKS WITH NODEMON
|
||||
const envFile = process.env.NODE_ENV === 'development' ? '.env.dev.local' : '.env'
|
||||
|
||||
// resolve config file
|
||||
const envFilePath = resolve(process.cwd(), envFile)
|
||||
const envFilePath = resolve(process.cwd(), '.env')
|
||||
|
||||
// set current environment variable file
|
||||
config({ path: envFilePath })
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ClientEvents, Awaitable, Client, User } from 'discord.js'
|
||||
import type { ClientEvents, Awaitable, Client } from 'discord.js'
|
||||
import { Ollama } from 'ollama'
|
||||
import { Queue } from '../queues/queue.js'
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ export * from './messageEmbed.js'
|
||||
export * from './messageNormal.js'
|
||||
export * from './commands.js'
|
||||
export * from './configInterfaces.js'
|
||||
export * from './mentionClean.js'
|
||||
|
||||
// handler imports
|
||||
export * from './handlers/chatHistoryHandler.js'
|
||||
|
||||
@@ -8,7 +8,7 @@ import Keys from "../keys.js"
|
||||
* - replace function works well for this
|
||||
*
|
||||
* @param message
|
||||
* @returns
|
||||
* @returns message without client id
|
||||
*/
|
||||
export function clean(message: string): string {
|
||||
const cleanedMessage: string = message.replace(`<@${Keys.clientUid}>`, '').trim()
|
||||
|
||||
Reference in New Issue
Block a user