[update]I've attached a new version of VBDotNetExample. In the one in the installer I had forgotten to create the plugin object as a COM Object[/update]
Hi all,
Lately I've been working on a new plugin:
Bot Developers Kit, or simply:
BotDK.
What does it do?
BotDK is a plugin for Messenger Plus! 3. Using this plugin's own plugin interface, developers can create auto-responders or so-called bots for MSN Messenger.
Features
- 100% thread-safe COM based plugin interface
- Create your own bot with it's own commands using the plugin interface. You're completely free to choose the format of your commands ('![command]' or '/[command]' or just '[command]' or something completely different)
- Plugin notifications:
- when an incoming conversation has been started
- when an outgoing conversation has been started
- when a conversation has ended
- when a message has been received
BotDK plugins will receive messages before they arrive at MSN Messenger. BotDK plugins can also control wether or not the incoming message will be forwarded to MSN Messenger.
- when a message has been sent
BotDK plugins will receive messages before they are actually sent to the SwitchBoard server. BotDK plugins can also control wether or not the outgoing message will be forwarded to the SwitchBoard server.
- 'Invisible' messages: messages that MSN Messenger won't see, but BotDK's plugins will
- Automatically send (hidden) messages from plugins to remote users with the ability to customize the message font
- Automatically send messages from plugins to the local MSN Messenger user with the ability to customize the message font
How does it work?
When the BotDK plugin loads, it will install a Winsock hook, so it can monitor wether an incoming or outgoing conversation has been started. For every conversation, MSN Messenger will make a separate connection with a 'conversation sever' which is called the SwitchBoard server. This connection is used to invite users to the conversation and to receive/send messages from/to the other participants in the conversation. When a conversation is started, BotDK will redirect the outgoing SwitchBoard connection to it's own TCP server. The TCP server will then connect to the real SwitchBoard server. From this point BotDK can monitor and (if needed) modify all messages which MSN Messenger sends to, or receives from the SwitchBoard server.
Is it finished?
Yes... well... it's in beta stage, so it's still subject to change.
Installation
Just run the installer. The installer doesn't check if MsgPlus! is installed, so for now I just consider that as a pre-condition
.
When the installer is ready, a readme file will be opened with more information on how to use BotDK.
Download
You can download BotDK
here.
Feedback
Please test this plugin and give me feedback on it. Also if you have ideas for extra features, don't hesitate to tell me about it.
Some of my own ideas for future versions
- VBScript/JScript support for plugins
- More info for plugins about which participants are in a conversation
- Provide plugins with the IMessengerWindow pointer for each conversation