
























@@ -24,17 +24,29 @@ type Ctx = Pick<
2424| "cfg"
2525| "accountId"
2626| "requesterSenderId"
27+| "toolContext"
2728| "mediaLocalRoots"
2829| "mediaReadFile"
2930>;
303132+function readDiscordRequesterSenderId(ctx: Ctx): string | undefined {
33+return ctx.toolContext?.currentChannelProvider?.trim().toLowerCase() === "discord"
34+ ? normalizeOptionalString(ctx.requesterSenderId)
35+ : undefined;
36+}
37+38+function senderParam(senderUserId: string | undefined) {
39+return senderUserId ? { senderUserId } : {};
40+}
41+3142export async function tryHandleDiscordMessageActionGuildAdmin(params: {
3243ctx: Ctx;
3344resolveChannelId: () => string;
3445}): Promise<AgentToolResult<unknown> | undefined> {
3546const { ctx, resolveChannelId } = params;
3647const { action, params: actionParams, cfg } = ctx;
3748const accountId = ctx.accountId ?? readStringParam(actionParams, "accountId");
49+const senderUserId = readDiscordRequesterSenderId(ctx);
38503951if (action === "member-info") {
4052const userId = readStringParam(actionParams, "userId", { required: true });
@@ -85,6 +97,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
8597 name,
8698 mediaUrl,
8799 roleIds,
100+ ...senderParam(senderUserId),
88101},
89102cfg,
90103);
@@ -116,6 +129,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
116129 description,
117130 tags,
118131 mediaUrl,
132+ ...senderParam(senderUserId),
119133},
120134cfg,
121135);
@@ -134,6 +148,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
134148 guildId,
135149 userId,
136150 roleId,
151+ ...senderParam(senderUserId),
137152},
138153cfg,
139154);
@@ -168,6 +183,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
168183action: "channelCreate",
169184accountId: accountId ?? undefined,
170185 ...readDiscordChannelCreateParams({ ...actionParams, guildId }),
186+ ...senderParam(senderUserId),
171187},
172188cfg,
173189);
@@ -182,6 +198,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
182198action: "channelEdit",
183199accountId: accountId ?? undefined,
184200 ...readDiscordChannelEditParams({ ...actionParams, channelId }),
201+ ...senderParam(senderUserId),
185202},
186203cfg,
187204);
@@ -192,7 +209,12 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
192209required: true,
193210});
194211return await handleDiscordAction(
195-{ action: "channelDelete", accountId: accountId ?? undefined, channelId },
212+{
213+action: "channelDelete",
214+accountId: accountId ?? undefined,
215+ channelId,
216+ ...senderParam(senderUserId),
217+},
196218cfg,
197219);
198220}
@@ -209,6 +231,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
209231action: "channelMove",
210232accountId: accountId ?? undefined,
211233 ...readDiscordChannelMoveParams({ ...actionParams, guildId, channelId }),
234+ ...senderParam(senderUserId),
212235},
213236cfg,
214237);
@@ -229,6 +252,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
229252 guildId,
230253 name,
231254position: position ?? undefined,
255+ ...senderParam(senderUserId),
232256},
233257cfg,
234258);
@@ -249,6 +273,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
249273 categoryId,
250274name: name ?? undefined,
251275position: position ?? undefined,
276+ ...senderParam(senderUserId),
252277},
253278cfg,
254279);
@@ -259,7 +284,12 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
259284required: true,
260285});
261286return await handleDiscordAction(
262-{ action: "categoryDelete", accountId: accountId ?? undefined, categoryId },
287+{
288+action: "categoryDelete",
289+accountId: accountId ?? undefined,
290+ categoryId,
291+ ...senderParam(senderUserId),
292+},
263293cfg,
264294);
265295}
@@ -312,6 +342,7 @@ export async function tryHandleDiscordMessageActionGuildAdmin(params: {
312342 location,
313343 entityType,
314344 image,
345+ ...senderParam(senderUserId),
315346},
316347cfg,
317348{ mediaLocalRoots: ctx.mediaLocalRoots },
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。