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)
.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 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)
{
//Checks if the config json data is valid
if(token == "" || token == null || token == "INSERT TOKEN HERE")
//Checks to see what mode to run the bot in
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
{
TelegramListener listener = new TelegramListener();
LogMessage("Now listening...");
LogMessage("Bot mode is not configured! Enter either \'telegram\' or \'matrix\'");
}
}
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)

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
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>
<ItemGroup>
<PackageReference Include="Matrix.Sdk" Version="1.0.7" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
<PackageReference Include="Telegram.Bot" Version="17.0.0" />

View File

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