AutoGen-Discord integration

Created by team AI3 on November 03, 2023

The project aims to develop a Discord bot for Autogen to transition the human feedback collection from a terminal-based system to a more user-friendly, real-time chat environment. This integration is envisaged as a vital step towards making Autogen accessible and engaging, especially for non-technical users, thereby expanding its user base and market reach. On the technical front, the core of this integration lies in the development of a custom Discord bot capable of capturing and processing human feedback in real-time. The bot will be designed to mirror the existing human_input_mode parameter behaviors of Autogen's terminal-based feedback system within a Discord environment. Specifically, the bot will prompt for human feedback on Autogen messages under conditions defined by the human_input_mode parameter: "ALWAYS" to seek feedback for every message, "TERMINATE" for feedback on termination messages or when auto replies reach a defined threshold, and "NEVER" to not solicit feedback. A pivotal part of this project involves overriding the `get_human_input` method within the AutoGen framework to call a new custom method `get_discord_input`, which will interact with Discord to obtain human feedback. This interaction will leverage Discord's API to send messages to a designated channel, await responses, and process them back into a format that Autogen expects, ensuring a seamless transition of feedback from Discord to Autogen. Furthermore, error handling mechanisms will be instituted within `get_discord_input` to manage potential issues such as network failures or unexpected response formats, ensuring a robust and reliable integration. The deliverables will include the Discord Bot application code, supporting documentation, and integration documentation focusing on the human_input_mode parameter, providing a comprehensive understanding and ease of replication or further development.

Category tags: