feat(MessageManager): poll methods (#10239)

* feat(MessageManager): poll methods

* docs: wording

Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>

---------

Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
This commit is contained in:
Almeida
2024-05-02 21:54:00 +01:00
committed by GitHub
parent 997887069a
commit 6cf094c282
5 changed files with 64 additions and 24 deletions

View File

@@ -2608,7 +2608,7 @@ export class Poll extends Base {
public end(): Promise<Message>;
}
export interface FetchPollVotersOptions {
export interface BaseFetchPollAnswerVotersOptions {
after?: Snowflake;
limit?: number;
}
@@ -2621,7 +2621,7 @@ export class PollAnswer extends Base {
public text: string | null;
public voteCount: number;
public get emoji(): GuildEmoji | Emoji | null;
public fetchVoters(options?: FetchPollVotersOptions): Promise<Collection<Snowflake, User>>;
public fetchVoters(options?: BaseFetchPollAnswerVotersOptions): Promise<Collection<Snowflake, User>>;
}
export class ReactionCollector extends Collector<Snowflake | string, MessageReaction, [User]> {
@@ -4397,6 +4397,12 @@ export class GuildMemberRoleManager extends DataManager<Snowflake, Role, RoleRes
): Promise<GuildMember>;
}
export interface FetchPollAnswerVotersOptions extends BaseFetchPollAnswerVotersOptions {
channelId: Snowflake;
messageId: Snowflake;
answerId: number;
}
export abstract class MessageManager<InGuild extends boolean = boolean> extends CachedManager<
Snowflake,
Message<InGuild>,
@@ -4415,6 +4421,8 @@ export abstract class MessageManager<InGuild extends boolean = boolean> extends
public react(message: MessageResolvable, emoji: EmojiIdentifierResolvable): Promise<void>;
public pin(message: MessageResolvable, reason?: string): Promise<void>;
public unpin(message: MessageResolvable, reason?: string): Promise<void>;
public endPoll(channelId: Snowflake, messageId: Snowflake): Promise<Message>;
public fetchPollAnswerVoters(options: FetchPollAnswerVotersOptions): Promise<Collection<Snowflake, User>>;
}
export class DMMessageManager extends MessageManager {

View File

@@ -2548,4 +2548,11 @@ declare const poll: Poll;
expectType<number>(answer.voteCount);
expectType<Collection<Snowflake, User>>(await answer.fetchVoters({ after: snowflake, limit: 10 }));
await messageManager.endPoll(snowflake, snowflake);
await messageManager.fetchPollAnswerVoters({
channelId: snowflake,
messageId: snowflake,
answerId: 1,
});
}