Utils
chunk_str(string, size)
Breaks string on spaces by maximum character length. Useful for breaking responses by character limits.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
string
|
str
|
String to chunk |
required |
size (int): Character length to chunk by
Returns:
| Type | Description |
|---|---|
list[str]
|
list[str]: A list of strings |
Source code in services/transceiver/src/transceiver/utils.py
format_message_for_log(message)
(DEPRECATION WARNING: will add to_s() method to Message instead.) String representation of Discord Message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message
|
Message
|
Discord Message |
required |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Formatted Message object |
Source code in services/transceiver/src/transceiver/utils.py
get_unsent_responses(redis)
(DEPRECATION WARNING: renaming to unsent_responses.) Gets unsent responses waiting in Redis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
redis
|
Redis
|
Redis connection |
required |
Returns:
list[dict]: A list of unsent response dicts
Source code in services/transceiver/src/transceiver/utils.py
handle_message(redis, message)
Process an incoming Discord message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
redis
|
Redis
|
Redis connection |
required |
message
|
Message
|
Discord Message |
required |
Returns:
| Type | Description |
|---|---|
None
|
None |
Source code in services/transceiver/src/transceiver/utils.py
handle_response(discord_client, redis_conn, response)
async
Asynchronously send a single/multi-part message to Discord.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
response
|
dict[str, id]
|
Dictionary represensation |
required |
Returns:
| Type | Description |
|---|---|
None
|
None |
Source code in services/transceiver/src/transceiver/utils.py
intents()
Returns a configured Intents object for a Discord a client.
By default, a bot does not have access to messages or their contents. Permission has to be explicitly given.
See docs: https://discordpy.readthedocs.io/en/stable/intents.html
Returns:
| Type | Description |
|---|---|
Intents
|
discord.Intents: Discord Intents object for client. |
Source code in services/transceiver/src/transceiver/utils.py
send_message(message, content)
async
Asynchronously sends a response to a specific Discord message.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
message
|
Message
|
Discord message to respond |
required |
content
|
str
|
Response body |
required |
Returns:
| Type | Description |
|---|---|
None
|
None |