- general Performance improvements - Adding MessageReceived Event to DeviceSession, will be called before "message loop" - AutoCleanForm optimized and clean process added to public function MessageCleanup (so you could call on your own) - IsGroup for DeviceSession fixed to correct test - IsChannel added to DeviceSession Examples: - SimpleForm (#1) derived now from AutoCleanForm to show deletion mode for both sides
68 lines
1.7 KiB
C#
68 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using TelegramBotBase.Base;
|
|
using TelegramBotBase.Form;
|
|
|
|
namespace TelegramBaseTest.Tests
|
|
{
|
|
public class SimpleForm : AutoCleanForm
|
|
{
|
|
|
|
public SimpleForm()
|
|
{
|
|
this.DeleteSide = eSide.Both;
|
|
this.DeleteMode = eDeleteMode.OnLeavingForm;
|
|
}
|
|
|
|
public override async Task Opened()
|
|
{
|
|
await this.Device.Send("Hello world! (send 'back' to get back to Start)\r\nOr\r\nhi, hello, maybe, bye and ciao");
|
|
}
|
|
|
|
|
|
public override async Task Load(MessageResult message)
|
|
{
|
|
//message.MessageText will work also, cause it is a string you could manage a lot different scenerios here
|
|
|
|
var messageId = message.MessageId;
|
|
|
|
switch (message.Command)
|
|
{
|
|
case "hello":
|
|
case "hi":
|
|
|
|
//Send him a simple message
|
|
await this.Device.Send("Hello you there !");
|
|
break;
|
|
|
|
case "maybe":
|
|
|
|
//Send him a simple message and reply to the one of himself
|
|
await this.Device.Send("Maybe what?", replyTo: messageId);
|
|
|
|
break;
|
|
|
|
case "bye":
|
|
case "ciao":
|
|
|
|
//Send him a simple message
|
|
await this.Device.Send("Ok, take care !");
|
|
break;
|
|
|
|
case "back":
|
|
|
|
var st = new Start();
|
|
|
|
await this.NavigateTo(st);
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|