python-3.x discord.py - 发送虚拟PDF文件

5n0oy7gb  于 2023-04-22  发布在  Python
关注(0)|答案(1)|浏览(114)

有没有办法上传一个虚拟的PDF文件到Discord上(我不想在我的电脑上创建文件)。我已经知道我可以用io.StringIO发送虚拟的txt文件,如下所示:

import discord, asyncio
from discord.ext import commands
from io import StringIO

bot = commands.Bot()

@bot.command()
async def send(ctx, *, string):
    await ctx.send(file=discord.File(
        fp=StringIO("This is a test"),
        filename="Test.txt"
    )

但是这不适用于PDF文件。我尝试使用io.BytesIO代替,但我没有得到任何结果。有人知道如何解决这个问题吗?

q35jwt9p

q35jwt9p1#

下面是一个使用FPDF的例子:

import discord
from discord.ext import commands
from io import BytesIO
from fpdf import FPDF

bot = commands.Bot("!")

@bot.command()
async def pdf(ctx, *, text):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font('Arial', 'B', 16)
    pdf.cell(40, 10, text)
    bstring = pdf.output(dest='S').encode('latin-1')
    await ctx.send(file=discord.File(BytesIO(bstring), filename='pdf.pdf'))

bot.run("token")

相关问题