mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
Update to new Telegram.Bot.
This commit is contained in:
+1
-1
@@ -7,7 +7,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AleXr64.BotFramework" Version="0.5.21" />
|
||||
<PackageReference Include="AleXr64.BotFramework" Version="0.6.3-gea779222d8" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="3.1.2" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.2" />
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace Kruzya.TelegramBot.Core
|
||||
[HandleEverything]
|
||||
public async Task Listener()
|
||||
{
|
||||
Console.WriteLine("handle");
|
||||
foreach (var message in new Message[] {RawUpdate.Message, RawUpdate.EditedMessage, RawUpdate.ChannelPost, RawUpdate.EditedChannelPost})
|
||||
{
|
||||
if (message == null)
|
||||
@@ -37,7 +38,7 @@ namespace Kruzya.TelegramBot.Core
|
||||
continue;
|
||||
}
|
||||
|
||||
await VerifyChatPair(message);
|
||||
return new Task();
|
||||
}
|
||||
|
||||
throw new ArgumentException();
|
||||
|
||||
@@ -3,8 +3,10 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using BotFramework;
|
||||
using BotFramework.Abstractions;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Exceptions;
|
||||
using Telegram.Bot.Types;
|
||||
|
||||
@@ -15,11 +17,11 @@ namespace Kruzya.TelegramBot.Core.Service
|
||||
private Timer _timer;
|
||||
|
||||
protected readonly ILogger _logger;
|
||||
protected readonly ITelegramBot _bot;
|
||||
protected readonly IBotInstance _bot;
|
||||
|
||||
protected virtual TimeSpan TimerPeriod => TimeSpan.FromSeconds(45);
|
||||
|
||||
protected AbstractTimedHostedService(ILogger logger, ITelegramBot bot)
|
||||
protected AbstractTimedHostedService(ILogger logger, IBotInstance bot)
|
||||
{
|
||||
_bot = bot;
|
||||
_logger = logger;
|
||||
|
||||
@@ -7,7 +7,17 @@
|
||||
}
|
||||
},
|
||||
|
||||
"BotConfig": {
|
||||
"token": "5093569980:AAEnrlpg2VYD0CyQYIZtWpUuRrlpkDG8NaI"
|
||||
},
|
||||
|
||||
"ModuleDirectories": [
|
||||
"C:\\Users\\Andriy\\RiderProjects\\telegram-bot\\modules\\Destiny2.WhereIsXur\\bin\\Debug\\net5.0",
|
||||
"C:\\Users\\Andriy\\RiderProjects\\telegram-bot\\modules\\RichSiteSummary\\bin\\Debug\\net5.0"
|
||||
],
|
||||
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "server=127.0.0.1;UserId=rider;Password=rider;database=rider;port=8889"
|
||||
"DefaultConnection": "server=127.0.0.1;UserId=root;Password=;database=kruzyatgbot-core;port=3306",
|
||||
"RichSiteSummary": "server=127.0.0.1;UserId=root;Password=;database=kruzyatgbot-rss;port=3306"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ using BotFramework.Setup;
|
||||
using Kruzya.TelegramBot.CombotAntiSpam.Combot;
|
||||
using Kruzya.TelegramBot.Core.Extensions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace Kruzya.TelegramBot.CombotAntiSpam
|
||||
@@ -24,7 +26,15 @@ namespace Kruzya.TelegramBot.CombotAntiSpam
|
||||
[Message(InChat.Public, MessageFlag.HasNewChatMembers)]
|
||||
public async Task OnUserJoined()
|
||||
{
|
||||
var canKickMembers = ((await Bot.GetChatMemberAsync(Chat, (await Bot.GetMeAsync()).Id)).CanRestrictMembers == true);
|
||||
// var canKickMembers = (await Bot.GetChatMemberAsync(Chat, (await Bot.GetMeAsync()).Id)).CanRestrictMembers == true;
|
||||
var meUserId = (await Bot.GetMeAsync()).Id;
|
||||
var meChatMember = await Bot.GetChatMemberAsync(Chat, meUserId);
|
||||
|
||||
var canKickMembers = false;
|
||||
if (meChatMember is ChatMemberAdministrator adminMember)
|
||||
{
|
||||
canKickMembers = adminMember.CanRestrictMembers;
|
||||
}
|
||||
|
||||
foreach (var member in RawUpdate.Message.NewChatMembers)
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@ using System.Threading.Tasks;
|
||||
using BotFramework;
|
||||
using BotFramework.Attributes;
|
||||
using Kruzya.TelegramBot.Destiny2.WhereIsXur.Provider;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace Kruzya.TelegramBot.Destiny2.WhereIsXur
|
||||
|
||||
@@ -31,10 +31,6 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Data
|
||||
string content = String.Empty;
|
||||
switch (parseMode)
|
||||
{
|
||||
case ParseMode.Default:
|
||||
content = RawRepresentation(text);
|
||||
break;
|
||||
|
||||
case ParseMode.Html:
|
||||
content = HtmlRepresentation(text);
|
||||
break;
|
||||
|
||||
@@ -9,6 +9,7 @@ using BotFramework.Setup;
|
||||
using Kruzya.TelegramBot.Core.Extensions;
|
||||
using Kruzya.TelegramBot.RichSiteSummary.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
using Telegram.Bot.Types.ReplyMarkups;
|
||||
@@ -51,24 +52,21 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Handler
|
||||
var callbackData = $"feed|{from.Id}|do|{feed.FeedId}";
|
||||
if (await _dbContext.Subscriptions.HasSubscription(chat, feed))
|
||||
{
|
||||
buttons.Add(new InlineKeyboardButton()
|
||||
buttons.Add(new InlineKeyboardButton("Unsubscribe")
|
||||
{
|
||||
CallbackData = callbackData,
|
||||
Text = "Unsubscribe"
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
buttons.Add(new InlineKeyboardButton()
|
||||
buttons.Add(new InlineKeyboardButton("Subscribe")
|
||||
{
|
||||
CallbackData = callbackData,
|
||||
Text = "Subscribe"
|
||||
});
|
||||
}
|
||||
buttons.Add(new InlineKeyboardButton()
|
||||
buttons.Add(new InlineKeyboardButton("Last 10 posts")
|
||||
{
|
||||
CallbackData = $"feed|{from.Id}|last|{feed.FeedId}",
|
||||
Text = "Last 10 posts"
|
||||
});
|
||||
|
||||
var inlineButtons = new InlineKeyboardMarkup(buttons);
|
||||
@@ -155,10 +153,9 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Handler
|
||||
foreach (var feed in result)
|
||||
{
|
||||
row = new List<InlineKeyboardButton>();
|
||||
row.Add(new InlineKeyboardButton()
|
||||
row.Add(new InlineKeyboardButton(feed.Title)
|
||||
{
|
||||
CallbackData = $"feed|{From.Id}|show|{feed.FeedId.ToString()}",
|
||||
Text = feed.Title
|
||||
});
|
||||
|
||||
buttons.Add(row);
|
||||
@@ -169,25 +166,22 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Handler
|
||||
row = new List<InlineKeyboardButton>();
|
||||
if (backButton)
|
||||
{
|
||||
row.Add(new InlineKeyboardButton()
|
||||
row.Add(new InlineKeyboardButton("⬅️")
|
||||
{
|
||||
CallbackData = $"feed|{From.Id}|page|{query}|{page - 1}",
|
||||
Text = "⬅️"
|
||||
});
|
||||
}
|
||||
|
||||
row.Add(new InlineKeyboardButton()
|
||||
row.Add(new InlineKeyboardButton($"{page + 1}/{(totalCount / elementsOnPage) + 1}")
|
||||
{
|
||||
CallbackData = $"feed|{From.Id}|donothing",
|
||||
Text = $"{page + 1}/{(totalCount / elementsOnPage) + 1}"
|
||||
});
|
||||
|
||||
if (nextButton)
|
||||
{
|
||||
row.Add(new InlineKeyboardButton()
|
||||
row.Add(new InlineKeyboardButton("➡️")
|
||||
{
|
||||
CallbackData = $"feed|{From.Id}|page|{query}|{page + 1}",
|
||||
Text = "➡️"
|
||||
});
|
||||
}
|
||||
|
||||
@@ -196,12 +190,12 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Handler
|
||||
|
||||
if (editableMessage == null)
|
||||
{
|
||||
await Bot.SendTextMessageAsync(Chat, "Select the feed for viewing details", ParseMode.Default,
|
||||
await Bot.SendTextMessageAsync(Chat, "Select the feed for viewing details", null,
|
||||
null, true, true, 0, replyMarkup: new InlineKeyboardMarkup(buttons));
|
||||
}
|
||||
else
|
||||
{
|
||||
await Bot.EditMessageTextAsync(editableMessage.Chat, editableMessage.MessageId, "Select the feed for viewing details", ParseMode.Default, null, false,
|
||||
await Bot.EditMessageTextAsync(editableMessage.Chat, editableMessage.MessageId, "Select the feed for viewing details", null, null, false,
|
||||
new InlineKeyboardMarkup(buttons));
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Threading.Tasks;
|
||||
using BotFramework.Attributes;
|
||||
using Kruzya.TelegramBot.RichSiteSummary.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
namespace Kruzya.TelegramBot.RichSiteSummary.Handler
|
||||
|
||||
@@ -3,8 +3,10 @@ using System.Collections.Concurrent;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BotFramework;
|
||||
using BotFramework.Abstractions;
|
||||
using Kruzya.TelegramBot.Core.Service;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Exceptions;
|
||||
using Telegram.Bot.Types;
|
||||
|
||||
@@ -17,7 +19,7 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Service
|
||||
protected readonly ConcurrentQueue<UserMessage> _queue;
|
||||
protected readonly ConcurrentQueue<UserUnsubscribe> _unsubscribeQueue;
|
||||
|
||||
public MessageSender(ILogger<MessageSender> logger, ITelegramBot bot, ConcurrentQueue<UserMessage> userMessageQueue, ConcurrentQueue<UserUnsubscribe> userUnsubscribeQueue) : base(logger, bot)
|
||||
public MessageSender(ILogger<MessageSender> logger, IBotInstance bot, ConcurrentQueue<UserMessage> userMessageQueue, ConcurrentQueue<UserUnsubscribe> userUnsubscribeQueue) : base(logger, bot)
|
||||
{
|
||||
_unsubscribeQueue = userUnsubscribeQueue;
|
||||
_queue = userMessageQueue;
|
||||
|
||||
@@ -3,10 +3,12 @@ using System.Collections.Concurrent;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using BotFramework;
|
||||
using BotFramework.Abstractions;
|
||||
using Kruzya.TelegramBot.Core.Service;
|
||||
using Kruzya.TelegramBot.RichSiteSummary.Data;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
|
||||
namespace Kruzya.TelegramBot.RichSiteSummary.Service
|
||||
@@ -18,7 +20,7 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Service
|
||||
|
||||
protected override TimeSpan TimerPeriod => TimeSpan.FromSeconds(1);
|
||||
|
||||
public Unsubscriber(ILogger<Unsubscriber> logger, ITelegramBot bot, ConcurrentQueue<UserUnsubscribe> queue, IServiceScopeFactory scopeFactory) : base(logger, bot)
|
||||
public Unsubscriber(ILogger<Unsubscriber> logger, IBotInstance bot, ConcurrentQueue<UserUnsubscribe> queue, IServiceScopeFactory scopeFactory) : base(logger, bot)
|
||||
{
|
||||
_scopeFactory = scopeFactory;
|
||||
_queue = queue;
|
||||
|
||||
@@ -9,6 +9,7 @@ using Kruzya.TelegramBot.Core.Cache;
|
||||
using Kruzya.TelegramBot.Core.Data;
|
||||
using Kruzya.TelegramBot.Core.Extensions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Telegram.Bot;
|
||||
using Telegram.Bot.Types;
|
||||
using Telegram.Bot.Types.Enums;
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user