What is BugBee?
BugBee is a free Discord bot designed to help game developers manage feedback.
BugBee does not store any report, it only forward them to a dedicated channel in your discord server. Please review the Privacy Policy for more details.
Gather user reports from your game
or from discord
Getting Started
Add BugBee to your server
- Click on the following link to add BugBee to your game or company discord:
Invite BugBee to your server - Create a private channel, we'll call it the Backend Channel, and give access to people reviewing user reports as well as BugBee
- Initialize BugBee by typing
/init
in the Backend Channel
Add a Frontend Channel for a game
To register a channel where users can report feedback and bugs, create a dedicated Frontend Channel, and register it by typing: /add_game <your game name>
Add an Endpoint integration
To enable in-game reporting, you need to add an endpoint integration.
Go to the dedicated Frontend Channel for your game, then type /add_endpoint_integration <shared_code>
, where the shared_code
is a string of your choosing.
The bot will reply with your game's id. Note down your shared_code
and your game_id
for later.
You can now send report from you game to Bugbee's api. Please refer to the API Reference for more details.
How can I get some support
Join us on discord to get support, leave a feedback, report a bug, or ask for a new feature!
Bot Reference
Owner commands
Commands that can only be run by the discord server admin.
/init
Initialize BugBee and Backend Channel on your server, in the channel where the command was issued.
This channel will be the channel where users reports will be forwarded.
/add_game <game_name>
game_name: The name of the game you want to create a Frontend Channel for.
Create a Frontend Channel for a specific game, in the channel where the command was issued.
This channel will be the channel where users will be able to create reports for the specific game.
/add_endpoint_integration <shared_code>
shared_code: A shared_code required in the API calls
returns: The game_id
, required in the API calls
Create an endpoint integration for the specifig Frontend Channel where the command was issued.
It enable users to submit reports via the API. More details in API Reference.
/remove_endpoint_integration
Remove the endpoint integration for the specifig Frontend Channel where the command was issued.
Users will not be able to submit reports via the API anymore.
/unregister_game_channel
Remove the Frontend Channel from the channel where the command was issued.
Users will not be able to submit report from this channel anymore.
/remove_bugbee
Un-initialize BugBee, clearing the database of all your data.
Users commands
/bee <report_type>
report_type: The type of report, can be Bug or Feedback description: The content of the report attachment (Optional): An optional attachment, like a screenshot
Create a report with an optional attachment
/bug
description: The content of the report attachment (Optional): An optional attachment, like a screenshot
Create a Bug report with an optional attachment
/feedback
description: The content of the report attachment (Optional): An optional attachment, like a screenshot
Create a Feedback report with an optional attachment
API Reference
POST https://api.bugbee.app/v1/report
Create a report for game, with an optional attachment.
Header
Content-Type: multipart/form-data; boudary=<boundary word>
Content-Length: <size of the body>
Body
game_id - string - Required
Game ID returned by the /add_endpoint_integration
command.
endpoint_secret - string - Required
The shared_code
used when register a channel with the /add_endpoint_integration
command.
description - string - Required
The content of the report written by the user.
report_type - string - Required
The type of report that is being created, can be Feedback or Bug.
attachment - bytes - Optional
Needed if attachment_filename is set.
The binary array containing the raw data of the file to upload, up to 10MB.
attachment_filename - bytes - Optional
Needed if attachment is set.
The name of the file uploaded in the attachment field.
Example
A simple Godot Example:
func send_feedback_multipart(game_id: String, endpoint_secret: String, text: String, report_type: String, image: Image) -> void:
var http_request = HTTPRequest.new()
add_child(http_request)
var body = PackedByteArray()
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"attachment\"\r\n".to_utf8_buffer())
body.append_array("Content-Type: image/png\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array(image.save_png_to_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"game_id\"\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array(game_id.to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"endpoint_secret\"\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array(endpoint_secret.to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"description\"\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array(text.to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"report_type\"\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array(report_type.to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary".to_utf8_buffer())
body.append_array("\r\nContent-Disposition: form-data; name=\"attachment_filename\"\r\n".to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("screenshot-{0}.png".format([Time.get_datetime_string_from_system()]).to_utf8_buffer())
body.append_array("\r\n".to_utf8_buffer())
body.append_array("--boundary--".to_utf8_buffer())
var headers = [
"Content-Length: " + str(body.size()),
"Content-Type: multipart/form-data; boundary=boundary"
]
http_request.request_raw("https://api.bugbee.app/v1/report", headers, HTTPClient.METHOD_POST, body)
Privacy Policy
Application permission
BugBee only need a restricted set of permissions to operate:
- Send Messages
- Attach Files
Data Collection
To function properly, BugBee stores Discord identifiers for:
- servers
- server's owners
- backend channel
- frontend channels
If an endpoint integration is enable for a game, BugBee will also store its shared_code
.