CAPIdaptor is a transparent proxy server interface that lets classic Battle.net chat clients connect nearly seamlessly to the modern chat API (CAPI + adapter).
WARNING!
I would highly recommend against running this server on the public internet, or connecting to any public instance of this or similar software. Your API key is transmitted in plain text and there is no way to prevent a malicious server operator from intercepting it and hijacking your client and/or channel.
NOTICE: The chat API appears to have been the pet project of a former Blizzard employee. It was never finished, is severely lacking in integration and functionality with the Battle.net ecosystem, and may not even be running on Blizzard’s end anymore.
Download
CLICK HERE to download CAPIdaptor @ GitHub
How To Use
- Using the official client, or a chat-capable client connected through the classic protocol, join the channel you wish to run a bot in (you must “own” the channel – OP and CLAN channels only!).
- Make sure the account has a registered email address.
- Issue the command:
/register
-bot - Check the email inbox associated with the account for a message from Battle.net and follow the instructions to get an API key.
- Download and run capidaptor.exe
- Launch your chat client of choice and configure it as follows:
- Username: your API key (you may need to use a command or modify your config directly if your client enforces username length limits)
- Product: Diablo 1 / Diablo Retail / DRTL (this will not affect how you appear in chat)
- Server: localhost (or whatever the hostname of the computer running the server is)
- Connect your bot. It should join to the registered channel and you should be able to interact with it as normal. Make sure to read the limitations section below!
Limitations
- Limitations of the chat API (only Blizzard can affect these)
- The API does not have access to most user metadata. It doesn’t know what game someone is playing, what their stats are, what clan they are in, or anything other than their name.
- The API does not support changing channels or interacting with users in other channels, including banning a user not in the channel (though they can still be unbanned).
- Any client that strictly enforces parameters such as the username length in order to conform with the standard limitations will not work. Only the developer(s) of those clients or someone with access to their source code can fix this. Known working clients are listed below: