Compare commits
4 commits
8c7af61ef7
...
f72ed78b60
Author | SHA1 | Date | |
---|---|---|---|
f72ed78b60 | |||
16e74356d4 | |||
98d0033b19 | |||
75a40f7178 |
1 changed files with 20 additions and 10 deletions
|
@ -1,7 +1,7 @@
|
|||
import discord
|
||||
import subprocess
|
||||
import asyncio
|
||||
import os
|
||||
from redbot.core import Config, checks, commands, bot, data_manager
|
||||
from redbot.core import Config, checks, commands, data_manager
|
||||
|
||||
class ExportChannels(commands.Cog):
|
||||
"""Custom cog to export channels to JSON and HTML formats using Discord Chat Exporter.
|
||||
|
@ -21,6 +21,8 @@ class ExportChannels(commands.Cog):
|
|||
self.bundled_data_path = data_manager.bundled_data_path(self)
|
||||
out = f'{self.data_path}{os.sep}Exported Channels'
|
||||
channel = channels[0]
|
||||
file_location_html = f'{os.sep}{out}{os.sep}%g{os.sep}%c{os.sep}Export.html'
|
||||
file_location_json = f'{os.sep}{out}{os.sep}%g{os.sep}%c{os.sep}DCE-f.json'
|
||||
try:
|
||||
os.mkdir(out)
|
||||
except FileExistsError:
|
||||
|
@ -30,28 +32,36 @@ class ExportChannels(commands.Cog):
|
|||
'DiscordChatExporter.Cli.dll',
|
||||
'export',
|
||||
'--format', 'HtmlDark',
|
||||
'--output', f'{os.sep}{out}{os.sep}%G (%g){os.sep}%C (%c){os.sep}Export.html',
|
||||
'--token', f'{token}',
|
||||
'--channel', {channel},
|
||||
'--output', file_location_html,
|
||||
'--token', token,
|
||||
'--channel', channel,
|
||||
'--media',
|
||||
'--fuck_russia', 'true',
|
||||
]
|
||||
os.chdir(self.bundled_data_path)
|
||||
subprocess.call(args)
|
||||
process_1 = await asyncio.create_subprocess_exec(*args)
|
||||
while True:
|
||||
return_code_1 = process_1.poll()
|
||||
if return_code_1 is not None:
|
||||
break
|
||||
args = [
|
||||
'dotnet',
|
||||
'DiscordChatExporter.Cli.dll',
|
||||
'export',
|
||||
'--format', 'Json',
|
||||
'--output', f'{os.sep}{out}{os.sep}%G (%g){os.sep}%C (%c){os.sep}DCE-f.json',
|
||||
'--token', f'{token}',
|
||||
'--channel', {channels},
|
||||
'--output', file_location_json,
|
||||
'--token', token,
|
||||
'--channel', channels,
|
||||
'--reuse_media',
|
||||
'--media',
|
||||
'--fuck_russia', 'true',
|
||||
]
|
||||
os.chdir(self.bundled_data_path)
|
||||
subprocess.call(args)
|
||||
process_2 = await asyncio.create_subprocess_exec(*args)
|
||||
while True:
|
||||
return_code_2 = process_2.poll()
|
||||
if return_code_2 is not None:
|
||||
break
|
||||
|
||||
@commands.group()
|
||||
@checks.is_owner()
|
||||
|
|
Loading…
Reference in a new issue