Instead, all instance ids are now usize (like message ids). This allows
me to enforce the fact that no two instances of a Bot must have the same
id by generating the ids in the Bot.
Reusing the same id for multiple instances that send their events to the
same place can lead to race conditions depending on how events are
handled. For example, the old instance might still be shutting down
while the new instance is already connected to a room, leading to an
InstanceEvent::Stopped from the old instance that seemingly applies to
the new instance.
The new set was organically sourced from free-range JSON:
https://euphoria.leet.nu/static/emoji.json
Since I'm loading emoji from JSON anyways, the corresponding function
is also exposed. Clients may want to load the emoji list dynamically at
runtime instead of using the built-in emoji.
euphoria.io is dead for good now, and euphoria.leet.nu is the blessed
clone/fork that will take its place. May this crevice of the internet
survive another day.
This should hopefully fix an issue where instances would get stuck in a
"Connecting" state after suspending the host machine or maybe just
connecting it to a different wifi. I've not managed to reliably
reproduce the bug, so this may not fix it at all.