Connecting to Telegram, WhatsApp, IRC and Twitch

Yoake handles Telegram, WhatsApp, IRC and Twitch independently: each has its own Status, its own connection, its own /connect//disconnect commands. For Telegram and WhatsApp this means one account at a time; for IRC and Twitch instead you can add and stay connected to several servers/accounts at once, exactly like real mIRC - see the IRC and Twitch sections below, and IRC for everything else about IRC (commands, scripting, known limitations).

A new Status window, or reuse the one already open?

The connection dialog has a checkbox "Open in a new Status window": if checked, the connection always goes into a new dedicated Status window, even if you already have one open for that network. If unchecked (default behavior), it reuses the Status window already open for that network if it isn't connected, or converts the generic Status if you haven't assigned it to any network yet - without opening an extra one for no reason.

It's the graphical equivalent of real mIRC's /server -m [telegram|whatsapp] command (see Commands) - useful if you want to keep multiple Status windows open for the same network, e.g. to handle two login attempts in parallel.

Telegram

Login via API ID/API Hash (from my.telegram.org) + phone number + verification code received via Telegram (plus 2FA password if set). The resulting session is saved ([telegram] section of Yoake.ini, see Yoake.ini) - no need to log in again on every startup.

WhatsApp

Login via QR code: open WhatsApp on your phone, Settings > Linked devices > Link a device, and scan the code shown by Yoake. The session (the whatsapp-auth folder inside the app's data) stays valid until you unlink the device from the phone.

In the phone's "Linked devices" list, Yoake shows up as Yoake.

IRC

The connection dialog's Server dropdown is unified across all three networks: besides Telegram and WhatsApp, it also lists an entry for each saved IRC server (e.g. "IRC - irc.azzurra.org") - all on one screen, no separate panels.

The "+ Add IRC server" button (always visible) opens an inline form right there to add a new one: host, port, an SSL/TLS checkbox (defaults to port 6697 with SSL on, 6667 without - it switches automatically when you toggle SSL, unless you've already customized the port by hand), nickname, an optional server password and an optional label (handy to tell apart two servers with the same host). The "- Remove" button (only enabled when an IRC server is selected in the dropdown) removes the saved server.

Pressing Connect with an IRC server selected connects right away - the same one-click behavior as Telegram/WhatsApp when a saved session already exists.

Unlike Telegram and WhatsApp (one account each), you can add and stay connected to several IRC servers at once, exactly like real mIRC: each one gets its own Status window, with its own channels and queries.

The "Connect automatically on startup" option (see Options) also covers IRC: when enabled, every saved IRC server reconnects on its own when Yoake starts. Channels (and private queries) you had open when you closed the program are reopened automatically - this time by actually rejoining them on the server, not just reopening a local window - the next time that server reconnects, exactly like Telegram and WhatsApp already do for their chats.

For everything else (available commands, how faithful the scripting is, known limitations like the lack of history or of real DCC) see IRC.

Twitch

Different from the other three: Twitch doesn't offer a convenient official protocol/API for a third-party client like Yoake, so login and chat go through a real embedded browser (a hidden Chromium window, with your normal User-Agent - not "headless"), exactly as if you opened twitch.tv in a real browser.

Login with your Twitch username and password, plus the email verification code Twitch itself requires for a login from a new device (handled right inside the same connection dialog, no separate window). The resulting session is persistent (a dedicated browser profile per account, inside the app's data): no need to log in again on every start.

As with IRC, you can add and stay connected to several Twitch accounts at once, and for each account you can be in several channels at once - each joined channel is a dedicated chat window (with its own hidden Chromium window behind the scenes, the real "cost" of relying on the real site instead of a lightweight protocol like IRC). See Commands for /join, /video and whispers.

If Twitch shows a CAPTCHA during login (rare, depends on the account/network), Yoake can't solve it on its own: it flags it to you and a one-time manual step is needed.

MOTD - the welcome message in Status

Like the MOTD of an IRC server, Status shows a summary on connect. Besides the basic info (name, id/phone), we also show extra data that real mIRC would have no way of knowing:

Telegram

FieldWhat it shows
Data CenterThe Telegram datacenter you're connected to (DC1-DC5) - the equivalent of the server host on IRC.
Two-Factor AuthWhether you have a 2FA password set on the account.
Active SessionsHow many sessions/devices are currently linked to your account.

WhatsApp

FieldWhat it shows
LIDYour LID identifier (WhatsApp's new system gradually replacing the phone number as internal identifier).
PlatformThe platform your WhatsApp account is registered with.
UsernameIf you've set a public one.
Verified NameThe verified name, for WhatsApp Business accounts.

If you disconnect from the phone

If you unlink the device from the phone (WhatsApp) or revoke the session from another client (Telegram), Yoake notices: Status shows a disconnection banner, the internal state switches to "not authenticated", and - if you enabled the corresponding option (see Options) - that network's windows close automatically.

Automatic reconnection

Normal network interruptions (Wi-Fi dropping, server restarting, etc.) are handled automatically on all three networks: Yoake retries reconnecting on its own, showing a banner in Status when the connection drops and when it comes back. On Telegram/WhatsApp only a real logout (from the phone or another client) requires a new manual login; on IRC the saved nickname/host are enough, there's no real logout.

The connection icon in the toolbar and the /connect//disconnect commands act on the network of the currently active window (or, if no network window is active, on the last network you successfully connected to).