mirror of
https://github.com/Myxelium/Lunaris2.0.git
synced 2026-04-13 08:00:37 +00:00
Compare commits
9 Commits
1717277946
...
0.1.3
| Author | SHA1 | Date | |
|---|---|---|---|
| e88e67f913 | |||
| 5053553182 | |||
| 327ccc9675 | |||
| cbc99c2773 | |||
| d56215f685 | |||
| 967bee923a | |||
| f8e6854569 | |||
| 03150a3d04 | |||
| 32b6e09336 |
33
.github/workflows/dotnet.yml
vendored
33
.github/workflows/dotnet.yml
vendored
@@ -7,10 +7,13 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: windows-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # required for github-action-get-previous-tag
|
||||||
|
|
||||||
- name: Setup .NET
|
- name: Setup .NET
|
||||||
uses: actions/setup-dotnet@v1
|
uses: actions/setup-dotnet@v1
|
||||||
@@ -27,15 +30,19 @@ jobs:
|
|||||||
run: dotnet publish ./Bot/Lunaris2.csproj --configuration Release --output ./out
|
run: dotnet publish ./Bot/Lunaris2.csproj --configuration Release --output ./out
|
||||||
|
|
||||||
- name: Zip the build
|
- name: Zip the build
|
||||||
run: 7z a -tzip ./out/Bot.zip ./out/*
|
run: 7z a -tzip ./out/Lunaris.zip ./out/*
|
||||||
|
|
||||||
- name: Get the tag name
|
- name: Get previous tag
|
||||||
id: get_tag
|
id: previoustag
|
||||||
run: echo "::set-output name=tag::${GITHUB_REF#refs/tags/}"
|
uses: 'WyriHaximus/github-action-get-previous-tag@v1'
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Get the version
|
- name: Get next minor version
|
||||||
id: get_version
|
id: semver
|
||||||
run: echo "::set-output name=version::$(date +%s).${{ github.run_id }}"
|
uses: 'WyriHaximus/github-action-next-semvers@v1'
|
||||||
|
with:
|
||||||
|
version: ${{ steps.previoustag.outputs.tag }}
|
||||||
|
|
||||||
- name: Create Release
|
- name: Create Release
|
||||||
id: create_release
|
id: create_release
|
||||||
@@ -43,8 +50,8 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ steps.get_version.outputs.version }}
|
tag_name: ${{ steps.semver.outputs.patch }}
|
||||||
release_name: Release v${{ steps.get_version.outputs.version }}
|
release_name: Release ${{ steps.semver.outputs.patch }}
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
|
|
||||||
@@ -55,6 +62,6 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: ./out/Bot.zip
|
asset_path: ./out/Lunaris.zip
|
||||||
asset_name: Bot.zip
|
asset_name: Lunaris.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|||||||
8
Bot/Handler/ChatCommand/readme.md
Normal file
8
Bot/Handler/ChatCommand/readme.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
## Ollama - Large Language Model Chat - Handler
|
||||||
|
|
||||||
|
This handler "owns" the logic for accessing the ollama api, which runs the transformer model.
|
||||||
|
|
||||||
|
> How to get started with a local chat bot see: [Run LLMs Locally using Ollama](https://marccodess.medium.com/run-llms-locally-using-ollama-8f04dd9b14f9)
|
||||||
|
|
||||||
|
Assuming you are on the same network as the Ollama server you should configure it to be accessible to other machines on the network, however this is only required if you aren't running it from localhost relative to the bot.
|
||||||
|
See: [How do I configure Ollama server?](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-do-i-configure-ollama-server)
|
||||||
@@ -7,7 +7,7 @@ flowchart TD
|
|||||||
EventListener[DiscordEventListener] --> A2[SlashCommandReceivedHandler]
|
EventListener[DiscordEventListener] --> A2[SlashCommandReceivedHandler]
|
||||||
|
|
||||||
A --> |Message| f{If bot is mentioned}
|
A --> |Message| f{If bot is mentioned}
|
||||||
f --> v[ChatHandler]
|
f --> |ChatCommand| v[ChatHandler]
|
||||||
|
|
||||||
A2[SlashCommandReceivedHandler] -->|Message| C{Send to correct command by
|
A2[SlashCommandReceivedHandler] -->|Message| C{Send to correct command by
|
||||||
looking at commandName}
|
looking at commandName}
|
||||||
@@ -23,6 +23,11 @@ Program registers an event listener ```DiscordEventListener``` which publish a m
|
|||||||
await Mediator.Publish(new MessageReceivedNotification(arg), _cancellationToken);
|
await Mediator.Publish(new MessageReceivedNotification(arg), _cancellationToken);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|Name| Description |
|
||||||
|
|--|--|
|
||||||
|
| SlashCommandReceivedHandler | Handles commands using ``/`` from any Discord Guild/Server. |
|
||||||
|
| MessageReceivedHandler| Listens to **all** messages. |
|
||||||
|
|
||||||
## Handler integrations
|
## Handler integrations
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TD
|
flowchart TD
|
||||||
@@ -35,3 +40,10 @@ flowchart TD
|
|||||||
o --> v
|
o --> v
|
||||||
E --> Lava[Lavalink]
|
E --> Lava[Lavalink]
|
||||||
```
|
```
|
||||||
|
|Name| Description |
|
||||||
|
|--|--|
|
||||||
|
| JoinHandler| Handles the logic for **just** joining a voice channel. |
|
||||||
|
| PlayHandler| Handles the logic for joining and playing music in a voice channel. |
|
||||||
|
| HelloHandler| Responds with Hello. (Dummy handler, will be removed)|
|
||||||
|
| GoodbyeHandler| Responds with Goodbye. (Dummy handler, will be removed)|
|
||||||
|
| ChatHandler| Handles the logic for LLM chat with user. |
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"Token": "discordToken",
|
"Token": "discordToken",
|
||||||
"LavaLinkPassword": "youshallnotpass",
|
"LavaLinkPassword": "youshallnotpass",
|
||||||
"LavaLinkHostname": "127.0.0.1",
|
"LavaLinkHostname": "127.0.0.1",
|
||||||
"LavaLinkPort": 2333
|
"LavaLinkPort": 2333,
|
||||||
"LLM": {
|
"LLM": {
|
||||||
"Url": "http://192.168.50.54:11434",
|
"Url": "http://192.168.50.54:11434",
|
||||||
"Model": "gemma"
|
"Model": "gemma"
|
||||||
|
|||||||
@@ -25,7 +25,3 @@ Lunaris2 is a Discord bot designed to play music in your server's voice channels
|
|||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
[MIT](https://choosealicense.com/licenses/mit/)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user