4 Commits

Author SHA1 Message Date
4b6bb780d4 Created check for Matrix mode 2023-02-16 10:53:08 -05:00
e8463ecc25 Added Matrix SDK 2023-02-16 10:52:56 -05:00
2083e8279f Created initial matrix listener 2023-02-16 10:52:46 -05:00
19e011dfac Added matrix variables 2023-02-16 10:52:38 -05:00
6 changed files with 90 additions and 47 deletions

View File

@ -1,36 +0,0 @@
# .gitea/workflows/build.yaml
name: Publish Docker image
on:
push:
branches: [main]
jobs:
push_to_registry:
name: Push Docker image to registries
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3
with:
token: ${{ secrets.GITEA_TOKEN }}
- name: Login to DockerHub
uses: https://github.com/docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Login to Gitea registry
uses: https://github.com/docker/login-action@v2
with:
registry: git.kizaing.ca
username: ${{ gitea.actor }}
password: ${{ secrets.GITEA_TOKEN }}
- name: Build and push Docker image
uses: https://github.com/docker/build-push-action@v4
with:
context: .
push: true
tags: git.kizaing.ca/kizaing/teletok:latest, kizaing

14
MatrixListener.cs Normal file
View File

@ -0,0 +1,14 @@
using System;
using System.Configuration;
using Matrix.Sdk;
namespace TeleTok
{
public class MatrixListener
{
public void RunListener()
{
}
}
}

View File

@ -10,27 +10,85 @@ namespace TeleTok
.AddJsonFile("config.json", true) .AddJsonFile("config.json", true)
.Build(); .Build();
// Value to see what bot mode to run in
public static string botMode = config.GetSection("TeleTokConf:botMode").Value;
// Telegram bot config
public static string token = config.GetSection("TeleTokConf:token").Value; public static string token = config.GetSection("TeleTokConf:token").Value;
public static string ptInstance = config.GetSection("TeleTokConf:proxitokInstance").Value; public static string ptInstance = config.GetSection("TeleTokConf:ptInstance").Value;
// Matrix bot config
public static string matrixAddress = config.GetSection("TeleTokConf:matrixAddress").Value;
public static string mBotUser = config.GetSection("TeleTokConf:mBotUser").Value;
public static string mBotPass = config.GetSection("TeleTokConf:mBotPass").Value;
static async Task Main(string[] args) static async Task Main(string[] args)
{ {
//Checks if the config json data is valid //Checks to see what mode to run the bot in
if(token == "" || token == null || token == "INSERT TOKEN HERE")
if(botMode == "telegram")
{ {
LogMessage("Telegram bot token is invalid! Exiting..."); //Checks if the config json data is valid
if(ConfigCheck(token) == false)
{
LogMessage("Telegram bot token is invalid! Exiting...");
}
else if(ConfigCheck(ptInstance) == false)
{
LogMessage("Proxitok instance is invalid! Exiting...");
}
else
{
TelegramListener tListener = new TelegramListener();
LogMessage("Now listening...");
tListener.RunListener();
}
} }
else if(ptInstance == "" || ptInstance == null || ptInstance == "PROXITOK INSTANCE URL") else if(botMode == "matrix")
{ {
LogMessage("Proxitok instance is invalid! Exiting..."); //Checks if the config json data is valid
if(ConfigCheck(matrixAddress) == false)
{
LogMessage("Synapse address is invalid! Exiting...");
}
else if(ConfigCheck(mBotUser) == false)
{
LogMessage("Matrix bot username is invalid! Exiting...");
}
else if(ConfigCheck(mBotPass) == false)
{
LogMessage("Matrix bot password is invalid! Exiting...");
}
else
{
MatrixListener mListener = new MatrixListener();
LogMessage("Now listening...");
mListener.RunListener();
}
} }
else else
{ {
TelegramListener listener = new TelegramListener(); LogMessage("Bot mode is not configured! Enter either \'telegram\' or \'matrix\'");
LogMessage("Now listening..."); }
}
listener.RunListener(); public static bool ConfigCheck(string confItem)
} {
if(confItem == "" || confItem == null
|| confItem == "INSERT TOKEN HERE"
|| confItem == "PROXITOK INSTANCE URL"
|| confItem == "SYNAPSE SERVER URL"
|| confItem == "MATRIX BOT USERNAMEL"
|| confItem == "MATRIX BOT PASSWORD")
{
return false;
}
else
{
return true;
}
} }
public static void LogMessage(string text) public static void LogMessage(string text)

View File

@ -1,3 +1,5 @@
[![Build Status](https://ci.kizaing.ca/api/badges/kizaing/TeleTok/status.svg)](https://ci.kizaing.ca/kizaing/TeleTok)
# TeleTok Telegram Bot # TeleTok Telegram Bot
This bot will monitor any chats for TikTok links that are posted, and then will run the link through a [ProxiTok](https://github.com/pablouser1/ProxiTok) instance to generate a download link. The resulting video file will then get directly uploaded directly to your chat. This bot will monitor any chats for TikTok links that are posted, and then will run the link through a [ProxiTok](https://github.com/pablouser1/ProxiTok) instance to generate a download link. The resulting video file will then get directly uploaded directly to your chat.

View File

@ -8,6 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Matrix.Sdk" Version="1.0.7" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.2" /> <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
<PackageReference Include="Telegram.Bot" Version="17.0.0" /> <PackageReference Include="Telegram.Bot" Version="17.0.0" />

View File

@ -1,6 +1,10 @@
{ {
"TeleTokConf": { "TeleTokConf": {
"botMode": "telegram",
"token": "INSERT TOKEN HERE", "token": "INSERT TOKEN HERE",
"proxitokInstance": "PROXITOK INSTANCE URL" "ptInstance": "PROXITOK INSTANCE URL",
"matrixAddress": "SYNAPSE SERVER URL",
"mBotUser": "MATRIX BOT USERNAME",
"mBotPass": "MATRIX BOT PASSWORD"
} }
} }