mirror of
https://github.com/NovaOSS/nova-cord.git
synced 2024-11-25 18:53:58 +01:00
Added API and chat
This commit is contained in:
parent
738352a063
commit
8cfd5b62ac
26
cord/api.py
Normal file
26
cord/api.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
import os
|
||||||
|
import aiohttp.web
|
||||||
|
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
|
app = aiohttp.web.Application()
|
||||||
|
|
||||||
|
async def start(client):
|
||||||
|
async def get_userinfo():
|
||||||
|
guild = client.get_guild(int(os.getenv('DISCORD_GUILD')))
|
||||||
|
members = guild.members
|
||||||
|
|
||||||
|
user_roles = {member.id: [role.name for role in member.roles] for member in members}
|
||||||
|
return user_roles
|
||||||
|
|
||||||
|
async def get_roles(request):
|
||||||
|
return aiohttp.web.json_response(await get_userinfo())
|
||||||
|
|
||||||
|
app.router.add_get('/get_roles', get_roles)
|
||||||
|
|
||||||
|
runner = aiohttp.web.AppRunner(app)
|
||||||
|
await runner.setup()
|
||||||
|
site = aiohttp.web.TCPSite(runner, '0.0.0.0', 3224)
|
||||||
|
await site.start()
|
14
cord/bot.py
14
cord/bot.py
|
@ -3,6 +3,7 @@
|
||||||
import os
|
import os
|
||||||
import nextcord
|
import nextcord
|
||||||
|
|
||||||
|
import api
|
||||||
import chatbot
|
import chatbot
|
||||||
import embedder
|
import embedder
|
||||||
import autochat
|
import autochat
|
||||||
|
@ -27,6 +28,9 @@ bot = commands.Bot(
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
print(f'Online as {bot.user} (ID: {bot.user.id})')
|
print(f'Online as {bot.user} (ID: {bot.user.id})')
|
||||||
|
|
||||||
|
await api.start(bot)
|
||||||
|
|
||||||
await bot.change_presence(activity=nextcord.Game(name='with fire'))
|
await bot.change_presence(activity=nextcord.Game(name='with fire'))
|
||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
|
@ -37,11 +41,11 @@ async def on_message(message):
|
||||||
await autochat.process(message)
|
await autochat.process(message)
|
||||||
await bot.process_commands(message)
|
await bot.process_commands(message)
|
||||||
|
|
||||||
# @bot.slash_command(description='Chat with AI')
|
@bot.slash_command(description='Chat with AI')
|
||||||
# async def chat(interaction: nextcord.Interaction,
|
async def chat(interaction: nextcord.Interaction,
|
||||||
# prompt: str = SlashOption(description='AI Prompt', required=True)
|
prompt: str = SlashOption(description='AI Prompt', required=True)
|
||||||
# ):
|
):
|
||||||
# await chatbot.respond(interaction, prompt)
|
await chatbot.respond(interaction, prompt)
|
||||||
|
|
||||||
@bot.slash_command(description='Sets your DMs up, so you can write the bot.')
|
@bot.slash_command(description='Sets your DMs up, so you can write the bot.')
|
||||||
async def dm_setup(interaction: nextcord.Interaction):
|
async def dm_setup(interaction: nextcord.Interaction):
|
||||||
|
|
|
@ -11,7 +11,7 @@ async def respond(interaction, prompt):
|
||||||
partial_message = await interaction.send('') # send an empty message
|
partial_message = await interaction.send('') # send an empty message
|
||||||
message = await partial_message.fetch() # gets the message that was send
|
message = await partial_message.fetch() # gets the message that was send
|
||||||
|
|
||||||
openai.api_base = 'https://nova-oss.com'
|
openai.api_base = os.getenv('OPENAI_BASE')
|
||||||
openai.api_key = os.getenv('OPENAI_KEY')
|
openai.api_key = os.getenv('OPENAI_KEY')
|
||||||
|
|
||||||
model = os.getenv('OPENAI_MODEL')
|
model = os.getenv('OPENAI_MODEL')
|
||||||
|
|
Loading…
Reference in a new issue