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,10 +1,10 @@
|
|||
import { Message, Channel, TextChannel } from "eris";
|
||||
import { StrictMessageContent, errorMessage, stripObjectToScalars, MINUTES, DBDateFormat } from "src/utils";
|
||||
import { StrictMessageContent, errorMessage, stripObjectToScalars, MINUTES, DBDateFormat } from "../../../utils";
|
||||
import moment from "moment-timezone";
|
||||
import { LogType } from "src/data/LogType";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import humanizeDuration from "humanize-duration";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils";
|
||||
import { PluginData } from "knub";
|
||||
import { sendErrorMessage, sendSuccessMessage } from "../../../pluginUtils";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { PostPluginType } from "../types";
|
||||
import { parseScheduleTime } from "./parseScheduleTime";
|
||||
import { postMessage } from "./postMessage";
|
||||
|
@ -15,7 +15,7 @@ const MAX_REPEAT_TIME = Math.pow(2, 32);
|
|||
const MAX_REPEAT_UNTIL = moment.utc().add(100, "years");
|
||||
|
||||
export async function actualPostCmd(
|
||||
pluginData: PluginData<PostPluginType>,
|
||||
pluginData: GuildPluginData<PostPluginType>,
|
||||
msg: Message,
|
||||
targetChannel: Channel,
|
||||
content: StrictMessageContent,
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
export function formatContent(str) {
|
||||
export function formatContent(str: string) {
|
||||
return str.replace(/\\n/g, "\n");
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
import moment, { Moment } from "moment-timezone";
|
||||
import { convertDelayStringToMS } from "src/utils";
|
||||
import { PluginData } from "knub";
|
||||
import { convertDelayStringToMS } from "../../../utils";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
|
||||
|
||||
// TODO: Extract out of the Post plugin, use everywhere with a date input
|
||||
export async function parseScheduleTime(pluginData: PluginData<any>, memberId: string, str: string): Promise<Moment> {
|
||||
export async function parseScheduleTime(
|
||||
pluginData: GuildPluginData<any>,
|
||||
memberId: string,
|
||||
str: string,
|
||||
): Promise<Moment> {
|
||||
const tz = await pluginData.getPlugin(TimeAndDatePlugin).getMemberTz(memberId);
|
||||
|
||||
const dt1 = moment.tz(str, "YYYY-MM-DD HH:mm:ss", tz);
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { PostPluginType } from "../types";
|
||||
import { TextChannel, MessageContent, Attachment, Message, Role } from "eris";
|
||||
import { downloadFile, getRoleMentions } from "src/utils";
|
||||
import { downloadFile, getRoleMentions } from "../../../utils";
|
||||
import fs from "fs";
|
||||
import { formatContent } from "./formatContent";
|
||||
|
||||
const fsp = fs.promises;
|
||||
|
||||
export async function postMessage(
|
||||
pluginData: PluginData<PostPluginType>,
|
||||
pluginData: GuildPluginData<PostPluginType>,
|
||||
channel: TextChannel,
|
||||
content: MessageContent,
|
||||
attachments: Attachment[] = [],
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
import { PluginData } from "knub";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { PostPluginType } from "../types";
|
||||
import { logger } from "src/logger";
|
||||
import { stripObjectToScalars, SECONDS, DBDateFormat } from "src/utils";
|
||||
import { LogType } from "src/data/LogType";
|
||||
import { logger } from "../../../logger";
|
||||
import { stripObjectToScalars, SECONDS, DBDateFormat } from "../../../utils";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import moment from "moment-timezone";
|
||||
import { TextChannel, User } from "eris";
|
||||
import { postMessage } from "./postMessage";
|
||||
|
||||
const SCHEDULED_POST_CHECK_INTERVAL = 5 * SECONDS;
|
||||
|
||||
export async function scheduledPostLoop(pluginData: PluginData<PostPluginType>) {
|
||||
export async function scheduledPostLoop(pluginData: GuildPluginData<PostPluginType>) {
|
||||
const duePosts = await pluginData.state.scheduledPosts.getDueScheduledPosts();
|
||||
for (const post of duePosts) {
|
||||
const channel = pluginData.guild.channels.get(post.channel_id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue