mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 12:25:02 +00:00
Update to new Knub 30 beta. Code clean-up.
This commit is contained in:
parent
5d579446c5
commit
2f470dc37a
299 changed files with 1075 additions and 1004 deletions
|
@ -1,9 +1,9 @@
|
|||
import { zeppelinPlugin } from "../ZeppelinPluginBlueprint";
|
||||
import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint";
|
||||
import { PluginOptions } from "knub";
|
||||
import { ConfigSchema, ReactionRolesPluginType } from "./types";
|
||||
import { GuildReactionRoles } from "src/data/GuildReactionRoles";
|
||||
import { GuildSavedMessages } from "src/data/GuildSavedMessages";
|
||||
import { Queue } from "src/Queue";
|
||||
import { GuildReactionRoles } from "../../data/GuildReactionRoles";
|
||||
import { GuildSavedMessages } from "../../data/GuildSavedMessages";
|
||||
import { Queue } from "../../Queue";
|
||||
import { autoRefreshLoop } from "./util/autoRefreshLoop";
|
||||
import { InitReactionRolesCmd } from "./commands/InitReactionRolesCmd";
|
||||
import { RefreshReactionRolesCmd } from "./commands/RefreshReactionRolesCmd";
|
||||
|
@ -31,7 +31,7 @@ const defaultOptions: PluginOptions<ReactionRolesPluginType> = {
|
|||
],
|
||||
};
|
||||
|
||||
export const ReactionRolesPlugin = zeppelinPlugin<ReactionRolesPluginType>()("reaction_roles", {
|
||||
export const ReactionRolesPlugin = zeppelinGuildPlugin<ReactionRolesPluginType>()("reaction_roles", {
|
||||
showInDocs: true,
|
||||
info: {
|
||||
prettyName: "Reaction roles",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { reactionRolesCmd } from "../types";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { TextChannel } from "eris";
|
||||
|
||||
export const ClearReactionRolesCmd = reactionRolesCmd({
|
||||
|
|
|
@ -2,7 +2,7 @@ import { reactionRolesCmd, TReactionRolePair } from "../types";
|
|||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { TextChannel } from "eris";
|
||||
import { RecoverablePluginError, ERRORS } from "src/RecoverablePluginError";
|
||||
import { RecoverablePluginError, ERRORS } from "../../../RecoverablePluginError";
|
||||
import { canUseEmoji, isDiscordRESTError, noop } from "../../../utils";
|
||||
import { applyReactionRoleReactionsToMessage } from "../util/applyReactionRoleReactionsToMessage";
|
||||
import { canReadChannel } from "../../../utils/canReadChannel";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { reactionRolesCmd } from "../types";
|
||||
import { commandTypeHelpers as ct } from "../../../commandTypes";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { refreshReactionRoles } from "../util/refreshReactionRoles";
|
||||
|
||||
export const RefreshReactionRolesCmd = reactionRolesCmd({
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import { reactionRolesEvent } from "../types";
|
||||
import { resolveMember, noop, sleep } from "src/utils";
|
||||
import { reactionRolesEvt } from "../types";
|
||||
import { resolveMember, noop, sleep } from "../../../utils";
|
||||
import { addMemberPendingRoleChange } from "../util/addMemberPendingRoleChange";
|
||||
import { Message } from "eris";
|
||||
|
||||
const CLEAR_ROLES_EMOJI = "❌";
|
||||
|
||||
export const AddReactionRoleEvt = reactionRolesEvent({
|
||||
export const AddReactionRoleEvt = reactionRolesEvt({
|
||||
event: "messageReactionAdd",
|
||||
|
||||
async listener(meta) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import * as t from "io-ts";
|
||||
import { BasePluginType, eventListener, command, PluginData } from "knub";
|
||||
import { GuildSavedMessages } from "src/data/GuildSavedMessages";
|
||||
import { GuildReactionRoles } from "src/data/GuildReactionRoles";
|
||||
import { Queue } from "src/Queue";
|
||||
import { BasePluginType, guildEventListener, guildCommand } from "knub";
|
||||
import { GuildSavedMessages } from "../../data/GuildSavedMessages";
|
||||
import { GuildReactionRoles } from "../../data/GuildReactionRoles";
|
||||
import { Queue } from "../../Queue";
|
||||
|
||||
export const ConfigSchema = t.type({
|
||||
auto_refresh_interval: t.number,
|
||||
|
@ -41,5 +41,5 @@ export interface ReactionRolesPluginType extends BasePluginType {
|
|||
};
|
||||
}
|
||||
|
||||
export const reactionRolesCmd = command<ReactionRolesPluginType>();
|
||||
export const reactionRolesEvent = eventListener<ReactionRolesPluginType>();
|
||||
export const reactionRolesCmd = guildCommand<ReactionRolesPluginType>();
|
||||
export const reactionRolesEvt = guildEventListener<ReactionRolesPluginType>();
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { ReactionRolesPluginType, RoleChangeMode, PendingMemberRoleChanges } from "../types";
|
||||
import { resolveMember } from "src/utils";
|
||||
import { logger } from "src/logger";
|
||||
import { resolveMember } from "../../../utils";
|
||||
import { logger } from "../../../logger";
|
||||
|
||||
const ROLE_CHANGE_BATCH_DEBOUNCE_TIME = 1500;
|
||||
|
||||
export async function addMemberPendingRoleChange(
|
||||
pluginData: PluginData<ReactionRolesPluginType>,
|
||||
pluginData: GuildPluginData<ReactionRolesPluginType>,
|
||||
memberId: string,
|
||||
mode: RoleChangeMode,
|
||||
roleId: string,
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { ReactionRolesPluginType } from "../types";
|
||||
import { ReactionRole } from "src/data/entities/ReactionRole";
|
||||
import { ReactionRole } from "../../../data/entities/ReactionRole";
|
||||
import { TextChannel } from "eris";
|
||||
import { isDiscordRESTError, sleep, isSnowflake } from "src/utils";
|
||||
import { logger } from "src/logger";
|
||||
import { isDiscordRESTError, sleep, isSnowflake } from "../../../utils";
|
||||
import { logger } from "../../../logger";
|
||||
import { LogsPlugin } from "../../Logs/LogsPlugin";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
|
||||
|
@ -13,7 +13,7 @@ const CLEAR_ROLES_EMOJI = "❌";
|
|||
* @return Errors encountered while applying reaction roles, if any
|
||||
*/
|
||||
export async function applyReactionRoleReactionsToMessage(
|
||||
pluginData: PluginData<ReactionRolesPluginType>,
|
||||
pluginData: GuildPluginData<ReactionRolesPluginType>,
|
||||
channelId: string,
|
||||
messageId: string,
|
||||
reactionRoles: ReactionRole[],
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { ReactionRolesPluginType } from "../types";
|
||||
import { runAutoRefresh } from "./runAutoRefresh";
|
||||
|
||||
export async function autoRefreshLoop(pluginData: PluginData<ReactionRolesPluginType>, interval: number) {
|
||||
export async function autoRefreshLoop(pluginData: GuildPluginData<ReactionRolesPluginType>, interval: number) {
|
||||
pluginData.state.autoRefreshTimeout = setTimeout(async () => {
|
||||
await runAutoRefresh(pluginData);
|
||||
autoRefreshLoop(pluginData, interval);
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { ReactionRolesPluginType } from "../types";
|
||||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { applyReactionRoleReactionsToMessage } from "./applyReactionRoleReactionsToMessage";
|
||||
|
||||
export async function refreshReactionRoles(
|
||||
pluginData: PluginData<ReactionRolesPluginType>,
|
||||
pluginData: GuildPluginData<ReactionRolesPluginType>,
|
||||
channelId: string,
|
||||
messageId: string,
|
||||
) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { ReactionRolesPluginType } from "../types";
|
||||
import { refreshReactionRoles } from "./refreshReactionRoles";
|
||||
|
||||
export async function runAutoRefresh(pluginData: PluginData<ReactionRolesPluginType>) {
|
||||
export async function runAutoRefresh(pluginData: GuildPluginData<ReactionRolesPluginType>) {
|
||||
// Refresh reaction roles on all reaction role messages
|
||||
const reactionRoles = await pluginData.state.reactionRoles.all();
|
||||
const idPairs = new Set(reactionRoles.map(r => `${r.channel_id}-${r.message_id}`));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue