DiscordElement

The DiscordElement enables real-time direct-message interactions between a Discord bot and users. It uses a DiscordModel to authenticate and listen for incoming messages, and provides ports to send and receive MessagePayloads.

Instantiation

Arguments:

bot_token: str
Discord bot token for authentication. If not provided, reads from the DISCORD_BOT_TOKEN environment variable.

on_message_criteria: callable, optional
Function to filter incoming Discord messages (default: only direct messages). Receives a discord.Message and returns bool.

Input Ports

Port Name Payload Type Behavior
assistant_message_emit_input MessagePayload Sends assistant-originated MessagePayloads to Discord users via DM.

Output Ports

Port Name Payload Type Behavior
user_message_output MessagePayload Emits messages received from Discord users.
assistant_message_output MessagePayload Emits messages forwarded after assistant-originated payloads are sent.
message_output MessagePayload Unified port emitting both user and assistant messages.