Commit graph

162 commits

Author SHA1 Message Date
63edcba9fa Move config structs to corresponding modules 2024-12-27 15:07:10 +01:00
8377695529 Remove instance id generics
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.
2024-12-27 15:07:10 +01:00
17ff660ab2 Use next_id instead of last_id 2024-12-27 14:35:22 +01:00
f093c0e9e5 Set default ClientConn command channel bufsize to 1 2024-12-27 13:19:00 +01:00
36f6dc1587 Add Bot for managing multiple instances 2024-12-27 13:19:00 +01:00
0fdb77fbd3 Add instance-based examplebot 2024-12-27 13:18:36 +01:00
feacde16aa Add bot instance 2024-12-11 23:33:19 +01:00
b9c4c2a003 Set up workspace 2024-12-11 01:04:51 +01:00
9c055b67f7 Disconnect when required 2024-12-11 01:04:51 +01:00
a36f45eec6 Document client connection 2024-12-10 20:50:54 +01:00
ccae75bf28 Export Error and Result at top level 2024-12-08 18:22:16 +01:00
59456c295b Add examplebot 2024-12-07 23:38:17 +01:00
cbb668c9da Convert ParsedPacket into Data 2024-12-07 23:37:03 +01:00
1bb043e10a Add client connection 2024-12-07 23:21:00 +01:00
94b796262b Model client connection state 2024-12-07 23:00:09 +01:00
3e6ee77834 Move error to separate file 2024-12-07 22:59:25 +01:00
6f0e08350e Refactor basic euphoria connection 2024-12-07 22:59:25 +01:00
bcedd3350d Refactor replies module 2024-12-07 22:59:14 +01:00
55d672cddb Refactor and document nick module 2024-12-07 22:58:58 +01:00
31a6d33267 Refactor and document api module 2024-12-07 22:58:28 +01:00
a661449b6f Refactor and document emoji module 2024-12-07 22:58:12 +01:00
904dda1af0 Prepare rewrite 2024-12-07 22:57:26 +01:00
fe68694932 Fix time and duration formatting 2024-12-04 20:01:32 +01:00
58b55ef433 Fix link to euph api in docs 2024-12-04 18:56:52 +01:00
cdcf80ab9a Fix timestamps with too much precision being representable 2024-12-04 18:56:03 +01:00
7360bf96f8 Fix rustls panic in example bots 2024-12-04 18:52:29 +01:00
61f5559370 Document rustls panic in changelog 2024-12-04 18:24:18 +01:00
f973a819b6 Make botrulez submodules public
This allows users of the library to use the commands' Args structs.
2024-12-04 17:21:53 +01:00
8506a231dd Add more lints 2024-12-04 17:21:53 +01:00
85c93ee01d Update dependencies 2024-12-04 17:10:42 +01:00
4314a24e78 Switch to jiff from time 2024-12-04 17:08:52 +01:00
0256329f65 Bump version to 0.5.1 2024-05-20 18:54:48 +02:00
20b2aab209 Update dependencies 2024-05-20 18:53:55 +02:00
69a4a2c07f Update emoji
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.
2024-05-20 18:49:40 +02:00
276ff68512 Bump version to 0.5.0 2023-12-27 00:18:44 +01:00
97fe80bca1 Update dependencies 2023-12-27 00:18:44 +01:00
37934b3af8 Format changelog with more whitespace 2023-12-27 00:06:40 +01:00
96743e26e2 Update emoji 2023-12-26 15:24:15 +01:00
2decee83e9 Switch euphoria.io (RIP) to euphoria.leet.nu
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.
2023-12-26 13:57:18 +01:00
fa6c8cdce9 Bump version to 0.4.0 2023-05-14 15:55:58 +02:00
ebdbb52f0d Update dependencies 2023-05-14 15:54:20 +02:00
09aed3181e Add whitespace todo 2023-05-14 14:55:47 +02:00
34f33ff038 Rename Snapshot to ConnSnapshot 2023-05-14 14:44:49 +02:00
0f217a6279 Fix euph errors always turning into conn::Errors 2023-04-08 20:22:19 +02:00
0c135844a4 Fix deserializing empty events and replies 2023-04-08 20:05:41 +02:00
c479cbd687 Mark all backwards-incompatible changes 2023-04-08 20:03:56 +02:00
768a259f02 Add timeout while opening connection
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.
2023-03-12 16:31:58 +01:00
373a98c26c Make Instance cloneable 2023-03-04 00:07:13 +01:00
5005e56881 Fix phone and mobile emoji 2023-03-01 01:22:25 +01:00
3aaef7ab11 Make command parsing helper function public 2023-02-27 14:07:06 +01:00