Compare commits
5 commits
3dfd20faaa
...
efce5f22d6
Author | SHA1 | Date | |
---|---|---|---|
Xiretza | efce5f22d6 | ||
Xiretza | cc09f22432 | ||
Xiretza | c40de5fbd1 | ||
Xiretza | 1b48d830e6 | ||
Xiretza | d64429a009 |
15
src/bot.rs
15
src/bot.rs
|
@ -57,6 +57,7 @@ pub enum OpenState {
|
|||
Closed,
|
||||
}
|
||||
|
||||
#[instrument(skip(api))]
|
||||
async fn get_open_state(api: &ItsApi) -> Result<OpenState> {
|
||||
let state = api
|
||||
.status()
|
||||
|
@ -210,17 +211,29 @@ impl Bot {
|
|||
ev: &OriginalRoomMessageEvent,
|
||||
room: &Joined,
|
||||
) -> Result<()> {
|
||||
event!(Level::TRACE, ?ev, "handling message");
|
||||
if Some(&*ev.sender) == self.client.user_id() {
|
||||
event!(Level::TRACE, "message from ourselves, ignoring");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let MessageType::Text(TextMessageEventContent { body, .. }) = &ev.content.msgtype else {
|
||||
event!(Level::TRACE, "non-plaintext message, ignoring");
|
||||
return Ok(());
|
||||
};
|
||||
|
||||
let Some(command) = body.strip_prefix(&self.config.app.command_prefix) else {
|
||||
event!(Level::TRACE, "non-command message, ignoring");
|
||||
return Ok(());
|
||||
};
|
||||
|
||||
let reply = |msg: &str| {
|
||||
// workaround for broken IRC bridge
|
||||
// https://github.com/matrix-org/matrix-appservice-irc/issues/683#issuecomment-1312688727
|
||||
let msg = format!("\n{msg}");
|
||||
|
||||
room.send(
|
||||
RoomMessageEventContent::notice_plain(msg).make_reply_to(ev),
|
||||
RoomMessageEventContent::text_plain(msg).make_reply_to(ev),
|
||||
None,
|
||||
)
|
||||
};
|
||||
|
|
|
@ -7,9 +7,9 @@ pub enum Error {
|
|||
#[error("invalid URL")]
|
||||
InvalidUrl(#[from] url::ParseError),
|
||||
#[error("invalid response")]
|
||||
InvalidResponse(reqwest::Error),
|
||||
InvalidResponse(#[source] reqwest::Error),
|
||||
#[error("network request failed")]
|
||||
Network(reqwest::Error),
|
||||
Network(#[source] reqwest::Error),
|
||||
}
|
||||
|
||||
/// Handler for the IT-Syndikat API.
|
||||
|
|
Loading…
Reference in a new issue