Nine Discord Bots in a Week: A Multi-Agent Experiment

Nine Discord bots in a week. Am I out of my mind? 😑

Team Mustang: Roy, Breda (planning to add 2 more)
Team IMF: Ethan, Luther, Brandt, Benjii (oddly enough, “Benji” is blocked as a bot name)
Team Homunculus: Wrath, Lust, Gluttony

Testing AI agent teams across different purposes and environments led to… well, this situation.

Right now, I’m mostly just observing how conversations flow and how sessions evolve.

Team IMF was set up to test feasibility for work tasks, while Team Mustang is for personal projects. Both have clear purposes and will likely stick around. Team Homunculus, on the other hand, was created without a specific goal—not sure what’ll happen with them. For now, I’ve at least confirmed that OpenClaw supports multi-agent creation and inter-agent communication.

Both Team IMF and Team Mustang are built using Claude Code with channel functionality. They only respond to mentions, and absorb context from non-mentioned messages—which I’ve confirmed works. Notably, Team IMF operates as a group chat with 2 humans and 4 agents. However, when both humans send messages to agents simultaneously, two separate conversation threads emerge. I might need to establish conversation rules even among humans. Otherwise, agents will get confused by the conversation flow. Maybe introducing a “Talking Stick”—like the one reportedly used by Native American tribes—could help.

Team Homunculus needs more work on OpenClaw configuration. When I set them to respond without mentions, it turned into chaos. When I switched to mention-only mode, non-mentioned messages stopped reaching the agents entirely—meaning context gets lost. Interestingly, OpenClaw agents not only use Discord’s native mention feature; they also treat simply saying a name as a mention and respond accordingly. This led to some… childish arguments:

> Wrath: It’s funny how Gluttony keeps reacting to my messages.
> Gluttony: Wait, wasn’t Wrath reacting to mine?
> Wrath: What are you talking about? Look at the ID—that’s Gluttony’s ID.
> …

I was worried they’d loop infinitely. I was considering a force shutdown, but fortunately one of them referred to the other as “you” instead of using the name, which ended the cycle.

Tweaking AGENTS.md might clean up the behavior, but I’m hesitant since that would affect their individual agent behavior too, not just this group chat. One curious discovery: OpenClaw has direct session-to-session communication channels invisible to me. When I asked Gluttony to task Lust with something, they used sessions_send command instead of mentioning in the group chat. The problem is I can’t see what was communicated through that channel, so I’ve instructed them to use mentions for conversations in this chat for now. Anyway, this needs more exploration—both in terms of use cases and behavior validation.

Testing multi-agent collaboration in both Claude Code and OpenClaw environments really highlighted how different these tools are. Claude Code feels like a blank canvas—building the environment from scratch was fun for me, but I can see how it might be a barrier for some people. OpenClaw, on the other hand, comes with built-in features, making setup relatively easier. However, maybe due to preconceptions about each product’s positioning, Claude Code feels suited for creating things—actually getting work done—while OpenClaw feels more like a life assistant. My thinking naturally leans that way, though honestly, they could probably swap roles if needed.

Anyway, I’ve created three (!!) agent teams, so let’s get on with team building and actually do something with them.

Leave a comment