Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/simon987/Discord-Channel-scraper

Scrapes an arbitrary number of lines from a Discord channel
https://github.com/simon987/Discord-Channel-scraper

Last synced: 26 days ago
JSON representation

Scrapes an arbitrary number of lines from a Discord channel

Awesome Lists containing this project

README

        

# Discord Channel Scraper

This simple script logs in the user and scrapes up to `--limit` messages from a specified channel. There are a variety of features included to allow for different usecases.

## Requires
- [Rapptz's discord python API](https://github.com/Rapptz/discord.py)
- Available through pip:
```bash
pip3 install -U discord.py
```
**See official documentation for further installation instructions**

## Usage

```
$ python3.5 scrape-logs.py --help
```
```
usage: scrape-logs.py [-h] [--username USERNAME] [--flag FLAG] [--quiet]
[--server SERVER] [--channel CHANNEL] [--limit LIMIT]
[--output OUTPUT] [--logging {10,20,30,40,50}]
[--format FORMAT] [--dl_attachments] [--dl_emoji]
[--skip_messages]

Scrapes messages from a Discord channel.

optional arguments:
-h, --help show this help message and exit
--username USERNAME, -u USERNAME
Username to login under. If not specified, username
will be prompted for.
--flag FLAG, -f FLAG An alternative to specifying the server and channel,
specify a piece of regex which when matched against a
message sent by the target user, will trigger scraping
of the channel the message was posted in. Useful for
private messages and private chats. Default value is
"!yank", activates by default if no server is
specified.
--quiet, -q Suppress messages in Discord
--server SERVER, --guild SERVER, -s SERVER
Discord server name to scrape from (user must be a
member of the server and have history privileges).
This field is case sensitive. If channel is not
specified the entire server will be scraped.
--channel CHANNEL, -c CHANNEL
Discord channel name to scrape from (user must have
history privileges for the particular channel). This
field is case sensitive.
--limit LIMIT, -l LIMIT
Number of messages to save. Default is 1000000
--output OUTPUT, -o OUTPUT
Outputs all messages into a single file. If not
specified, messages are saved under the format:
.txt.
--logging {10,20,30,40,50}
Change the logging level. Defaults to 20, info.
--format FORMAT, -F FORMAT
Message format (plain|json)
--dl_attachments, -a Download attachments
--dl_emoji, -e Download emoji
--skip_messages, -S Skip logging messages
```

## Future plans

- [ ]: Add 2FA support