You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Pycord机器人搭建数据库?求SQLite存字符串示例

Pycord Bot 实现字符串存入SQLite数据库的命令示例

下面是一个完整的实现示例,包含数据库初始化、命令编写和基本的错误处理:

import discord
from discord.ext import commands
import sqlite3
from datetime import datetime

# 初始化Bot,设置命令前缀
bot = commands.Bot(command_prefix="!", intents=discord.Intents.default())

# 数据库初始化函数
def init_db():
    conn = sqlite3.connect("bot_database.db")
    cursor = conn.cursor()
    # 创建存储字符串的表,包含自增ID、用户ID、字符串内容、创建时间
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS user_strings (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            user_id INTEGER NOT NULL,
            content TEXT NOT NULL,
            created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
        )
    ''')
    conn.commit()
    conn.close()

# Bot启动时初始化数据库
@bot.event
async def on_ready():
    init_db()
    print(f"已登录为 {bot.user},数据库初始化完成")

# 存入字符串的命令
@bot.command(name="save_string")
async def save_string(ctx, *, content: str):
    try:
        # 连接数据库
        conn = sqlite3.connect("bot_database.db")
        cursor = conn.cursor()
        # 插入数据:用户ID、字符串内容
        cursor.execute('''
            INSERT INTO user_strings (user_id, content)
            VALUES (?, ?)
        ''', (ctx.author.id, content))
        conn.commit()
        await ctx.send(f"已成功保存你的字符串:`{content}`")
    except Exception as e:
        await ctx.send(f"保存失败:{str(e)}")
    finally:
        # 确保数据库连接关闭
        if conn:
            conn.close()

# 运行Bot,替换成你的Token
bot.run("YOUR_BOT_TOKEN_HERE")

关键部分说明

  • 数据库初始化:init_db函数在Bot启动时执行,自动创建user_strings表,避免手动建表的麻烦。
  • 命令参数设计:使用*, content: str可以接收用户输入的整段字符串(包含空格),不用限制输入内容的长度(只要SQLite支持)。
  • 安全的数据插入:用?占位符传递参数,避免SQL注入攻击,这是操作数据库的最佳实践。
  • 异常与资源管理:通过try-except-finally捕获错误并反馈给用户,同时确保数据库连接无论成功失败都会被关闭,防止资源泄漏。

使用方法

  1. 替换代码中的YOUR_BOT_TOKEN_HERE为你的Discord Bot Token。
  2. 运行脚本,Bot上线后,在Discord聊天中发送!save_string 你的字符串内容即可完成存储。

你可以根据需求修改表结构,比如添加字符串分类、过期时间等字段,或者扩展查询、删除等配套命令。

内容的提问来源于stack exchange,提问作者SniperMonke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:40:33