Files
status-bot/docs/usage/monitoring.md
2026-08-18 19:11:29 +02:00

4.4 KiB

Monitoring

The Status Bot can store the messages and Community information to allow some analytics.

Received messages

The messages received by the bot account can be store in the database with the module receiver.

Data from Messages and Chats are hashed with sha256 and a pepper, to avoid storing information openly.

Messages

Field Type Hashed Description
id String Hashed Message Id
whisper_timestamp - DateTime Timstamp of reception by the last network node
from_ String Hashed Address of the sender
alias String Hashed User Alias
seen Boolean - Flag indicating if the message has been seen
rtl Boolean - Flag indicating
line_count Integer -
text String Hashed Content of the messages
chat_id String Hashed Id of the chat link to this message
local_chat_id String Hashed Chat id for the local backend instance
clock BigInteger - Unix timestamp of the message reception
replace String -
response_to String Hashed User Id to whom the message is responding
ens_name String Hashed ENS name of the sender
display_name String Hashed Display Name of the sender
timestamp DateTime - timestamp of the message sent
content_type Integer - Number indicating the type of message content
message_type Integer - Type of message
contact_request_state Integer -
compressed_key String - Key used to compress the message
received_timestamp DateTime - timestamp of the message reception

Chats

Field Type Hashed Description
id String
type String
name String
received_timestamp DateTime
description String
color String
emoji String
active Boolean
viewers_can_post_reactions Boolean
chat_type Integer
timestamp DateTime
last_clock_value BigInteger
deleted_at_clock_value Integer
read_messages_at_clock_value Integer
unviewed_messages_count Integer
unviewed_mentions_count Integer
membership_update_events Integer
identicon String
muted Boolean
mute_till DateTime
community_id String
category_id String
joined String

Community Monitoring

The module communities_monitoring will allow to periodically fetch information of the community the bot account has access.

The data by the Bot are the following.

Community

Field Type Description
id String Community Id
url String Url to join the community
name String Name of the community
verified Boolean Flag if the community is verified
tags String All the community tags separated by a ,
is_member Boolean Flag indicating the community the bot has joined
joined_timestamp DateTime Timestamp when the account joined the community. None when the account has not joined.
requested_timestamp DateTime Timestamp when the join request was submitted. None when no request was made.
encrypted String Whether the community messaging is encrypted.
number_members Integer Total number of community members.

Channels

  • id: Id of the channel.
  • chat_id: Chat id of the channel.
  • community_id: Id of the channel's community.
  • name: Name of the channel.
  • description: Description of the channel.
  • can_post: Can the Bot Post into the channel.
  • can_view: Can the Bot view the channel.
  • can_post_reaction: Can the bot react to a Post.
  • token_gated: Is the channel access limited with a token.
Key Type Description
id String The channel's own id
chat_id String The community id and channel id joined together. Value to use to map a message to a channel.
name String The channel name
description String The channel description.
can_post Boolean Whether the account can send messages to the channel. chats only lists channels where this is True.
can_view Boolean Whether the account can read the channel.
can_post_reaction Boolean Whether the account can post emoji reactions.
token_gated Boolean Whether access to the channel is gated behind a token.