All Projects → Sciencentistguy → discord-channel-archiver

Sciencentistguy / discord-channel-archiver

Licence: Unknown and 2 other licenses found Licenses found Unknown licence.md GPL-3.0 LICENCE-GPL MPL-2.0 LICENCE-MPL
A small discord bot to archive the messages in a discord text channel.

Programming Languages

rust
11053 projects
CSS
56736 projects
Liquid
124 projects
Nix
1067 projects

Projects that are alternatives of or similar to discord-channel-archiver

prometheus exporter base
Base library for Rust Prometheus exporters
Stars: ✭ 30 (-11.76%)
Mutual labels:  exporter
greenplum exporter
Greenplum(v5,v6) exporter for Prometheus
Stars: ✭ 48 (+41.18%)
Mutual labels:  exporter
tucan-tools
Nomen est omen. It exports tucan grades/vv etc.
Stars: ✭ 24 (-29.41%)
Mutual labels:  exporter
yoda
GitHub extension for agile project management, using the issues subsystem.
Stars: ✭ 86 (+152.94%)
Mutual labels:  exporter
nvidia smi exporter
nvidia-smi exporter for Prometheus
Stars: ✭ 66 (+94.12%)
Mutual labels:  exporter
mq-java-exporter
Exporter for IBM MQ metrics https://prometheus.io/
Stars: ✭ 19 (-44.12%)
Mutual labels:  exporter
genshin-audio-exporter
Export audio files from Genshin Impact game data into different audio formats.
Stars: ✭ 83 (+144.12%)
Mutual labels:  exporter
sqs-exporter
A Prometheus Exporter for the Amazon Simple Queue Service (SQS)
Stars: ✭ 24 (-29.41%)
Mutual labels:  exporter
couchbase exporter
Export metrics from Couchbase Server for Prometheus consumption
Stars: ✭ 32 (-5.88%)
Mutual labels:  exporter
sql-to-redis
🔄 Simple tool for ETL. From SQL to Redis.
Stars: ✭ 18 (-47.06%)
Mutual labels:  exporter
tracboat
Trac to GitLab migration toolbox
Stars: ✭ 32 (-5.88%)
Mutual labels:  exporter
ping-exporter
Prometheus Ping exporter
Stars: ✭ 60 (+76.47%)
Mutual labels:  exporter
io scene pbrt
Exporter for blender that exports the scene into pbrt's ascii file format.
Stars: ✭ 42 (+23.53%)
Mutual labels:  exporter
daru-io
daru-io is a plugin gem to the existing daru gem, which aims to add support to Importing DataFrames from / Exporting DataFrames to multiple formats.
Stars: ✭ 21 (-38.24%)
Mutual labels:  exporter
ansible-process exporter
Provision process exporter for prometheus monitoring tool
Stars: ✭ 16 (-52.94%)
Mutual labels:  exporter
draftjs exporter
Library to convert Draft.js ContentState to HTML
Stars: ✭ 77 (+126.47%)
Mutual labels:  exporter
jmx exporter-cloudera-hadoop
Prometheus jmx_exporter configurations for Cloudera Hadoop
Stars: ✭ 33 (-2.94%)
Mutual labels:  exporter
prometheus-barman-exporter
Barman exporter for Prometheus
Stars: ✭ 23 (-32.35%)
Mutual labels:  exporter
prometheus-logstash-exporter
Prometheus exporter for Logstash metrics
Stars: ✭ 54 (+58.82%)
Mutual labels:  exporter
treeio
🌱 Base Classes and Functions for Phylogenetic Tree Input and Output
Stars: ✭ 70 (+105.88%)
Mutual labels:  exporter

discord-channel-archiver

A discord bot to archive the messages in a discord text channel.

Usage

  • Create a discord application and bot.
  • Enable the Server Members privileged intent for your bot. Note that this means your bot cannot be in more than 100 servers without verification. For a bot of this type, where the output is saved to the disk of the computer running it, this should not be a problem.
  • Invite the bot to your server. Make sure to select the application.commands scope if you want to use slash commands.
  • Run the bot, providing the token and application id as command line arguments:
    • With nix:
      • nix run github:Sciencentistguy/discord-channel-archiver -- <token_filename> <application_id_filename> [output_directory]
    • With cargo:
      • cargo run -- <token_filename> <application_id_filename> [output_directory]
    • Standalone:
      • discord-channel-archiver <token_filename> <application_id_filename> [output_directory]
  • The commands /archive and /archive_emoji should be available in your guilds.
  • Alternatively, send a message of the form:
    • !archive <channel> [mode], where channel is the channel you want to archive, and mode is one of either json or html. If this is blank, or if is any other value, all output formats will be generated.
    • !archive_emoji
  • Sit back and watch the bot export the channel to the file format(s) you requested.

The HTML generated is very messy, but it should be well-formed. This means that an html formatter such as prettier should be used to clean it up. I'd recommend doing this if the resultant HTML is to be stored for archival purposes. The JSON should be clean as it is generated by serde. If prettier fails to parse the output, this is likely a bug, please file an issue.

Stability

There is no stability guarantee for the generate files. Discord's API can change, and therefore this program must also allow the outputted data to change.


Inspired by DiscordChatExporter.

The HTML / CSS templates are derived from the ones from DiscordChatExporter, under the terms of the GNU GPL.

For licence information, see licence.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].