Updated dependencies, fixed migrations usage
This commit is contained in:
@@ -2,8 +2,7 @@
|
||||
use std::error::Error;
|
||||
use std::fmt;
|
||||
|
||||
use diesel::{prelude::*, PgConnection, insert_into};
|
||||
use diesel::r2d2::{Pool, ConnectionManager};
|
||||
use diesel::{prelude::*, insert_into};
|
||||
use log::{error, debug, trace, warn};
|
||||
|
||||
use serde::{Serialize, Deserialize};
|
||||
@@ -13,7 +12,8 @@ use serenity::model::channel::Message;
|
||||
use serenity::model::prelude::{ChannelType, PermissionOverwrite, PermissionOverwriteType};
|
||||
use serenity::prelude::*;
|
||||
|
||||
use crate::database::models::{NewMessageDB, MessageDB};
|
||||
use crate::db;
|
||||
use crate::messages::{NewMessageDB, MessageDB};
|
||||
|
||||
pub struct OAI {
|
||||
pub client: reqwest::Client,
|
||||
@@ -187,26 +187,26 @@ impl OAI {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn generate_response(ctx: &Context, msg: &Message, oai: &OAI, pool: &Pool<ConnectionManager<PgConnection>>) {
|
||||
pub async fn generate_response(ctx: &Context, msg: &Message, oai: &OAI) {
|
||||
debug!("Generating response for message: {}", msg.content);
|
||||
let mut connection = db::connection().unwrap();
|
||||
|
||||
let guild_id = msg.guild_id.unwrap();
|
||||
let channel_id = msg.channel_id;
|
||||
let author_id = msg.author.id;
|
||||
let mut connection = pool.get().unwrap();
|
||||
|
||||
// Parse out the bot mention from the message
|
||||
let bot_mention: String = format!("<@{}>", ctx.cache.current_user_id().0);
|
||||
let parsed_content = msg.content.replace(bot_mention.as_str(), "");
|
||||
|
||||
// Setup the request messages
|
||||
let result: Result<Vec<MessageDB>, diesel::result::Error> = crate::database::schema::messages::table
|
||||
let result: Result<Vec<MessageDB>, diesel::result::Error> = crate::schema::messages::table
|
||||
.select(MessageDB::as_select())
|
||||
.filter((crate::database::schema::messages::guild_id.eq(guild_id.0 as i64))
|
||||
.and(crate::database::schema::messages::channel_id.eq(channel_id.0 as i64))
|
||||
.and(crate::database::schema::messages::user_id.eq(author_id.0 as i64))
|
||||
.filter((crate::schema::messages::guild_id.eq(guild_id.0 as i64))
|
||||
.and(crate::schema::messages::channel_id.eq(channel_id.0 as i64))
|
||||
.and(crate::schema::messages::user_id.eq(author_id.0 as i64))
|
||||
)
|
||||
.order(crate::database::schema::messages::created.asc())
|
||||
.order(crate::schema::messages::created.asc())
|
||||
.limit(oai.max_context_questions)
|
||||
.load(&mut connection);
|
||||
|
||||
@@ -284,7 +284,7 @@ pub async fn generate_response(ctx: &Context, msg: &Message, oai: &OAI, pool: &P
|
||||
if !r.choices.is_empty() {
|
||||
let res = r.choices[0].message.content.clone();
|
||||
// Insert the message into the messages database table
|
||||
if let Err(err) = insert_into(crate::database::schema::messages::table).values(NewMessageDB {
|
||||
if let Err(err) = insert_into(crate::schema::messages::table).values(NewMessageDB {
|
||||
id: &r.id,
|
||||
guild_id: guild_id.0 as i64,
|
||||
channel_id: response_channel.0 as i64,
|
||||
|
||||
Reference in New Issue
Block a user