refactor: example projects
This commit is contained in:
parent
b9a177c152
commit
a2b75654d8
@ -1,426 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
|
||||||
</startup>
|
|
||||||
<runtime>
|
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="Microsoft.VisualBasic.Core" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-10.0.6.0" newVersion="10.0.6.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="Microsoft.Win32.Registry" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="netstandard" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Collections" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Collections.NonGeneric" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Collections.Specialized" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ComponentModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ComponentModel.Annotations" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ComponentModel.Primitives" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ComponentModel.TypeConverter" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Data.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.Process" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.TextWriterTraceListener" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.TraceSource" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Drawing.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.Compression.ZipFile" publicKeyToken="b77a5c561934e089"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.FileSystem.DriveInfo" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.FileSystem.Watcher" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.IsolatedStorage" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.MemoryMappedFiles" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.IO.Pipes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Linq" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.NameResolution" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Ping" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Requests" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Security" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.ServicePoint" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.WebHeaderCollection" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.WebSockets" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Net.WebSockets.Client" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Reflection.Emit.ILGeneration" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Resources.Writer" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.VisualC" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation"
|
|
||||||
publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Serialization.Formatters" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Claims" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Cryptography.Csp" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Cryptography.Encoding" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Principal" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Security.Principal.Windows" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Threading.Thread" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Threading.ThreadPool" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.12.0" newVersion="4.0.12.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Transactions.Local" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Xml.XPath" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a"
|
|
||||||
culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
</assemblyBinding>
|
|
||||||
</runtime>
|
|
||||||
</configuration>
|
|
||||||
@ -8,12 +8,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" />
|
<ProjectReference Include="..\..\TelegramBotBase\TelegramBotBase.csproj"/>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="6.0.9" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\TelegramBotBase\TelegramBotBase.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
48
Examples/AsyncFormUpdates/Forms/AsyncFormEdit.cs
Normal file
48
Examples/AsyncFormUpdates/Forms/AsyncFormEdit.cs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
using TelegramBotBase.Attributes;
|
||||||
|
using TelegramBotBase.Base;
|
||||||
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
|
namespace AsyncFormUpdates.Forms;
|
||||||
|
|
||||||
|
public class AsyncFormEdit : FormBase
|
||||||
|
{
|
||||||
|
[SaveState] private int _counter;
|
||||||
|
|
||||||
|
private int _messageId;
|
||||||
|
|
||||||
|
public override Task Load(MessageResult message)
|
||||||
|
{
|
||||||
|
_counter++;
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task Action(MessageResult message)
|
||||||
|
{
|
||||||
|
await message.ConfirmAction();
|
||||||
|
|
||||||
|
switch (message.RawData ?? "")
|
||||||
|
{
|
||||||
|
case "back":
|
||||||
|
var st = new Start();
|
||||||
|
await NavigateTo(st);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task Render(MessageResult message)
|
||||||
|
{
|
||||||
|
var bf = new ButtonForm();
|
||||||
|
bf.AddButtonRow("Back", "back");
|
||||||
|
|
||||||
|
if (_messageId != 0)
|
||||||
|
{
|
||||||
|
await Device.Edit(_messageId, $"Your current count is at: {_counter}", bf);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var m = await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
|
||||||
|
_messageId = m.MessageId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
38
Examples/AsyncFormUpdates/Forms/AsyncFormUpdate.cs
Normal file
38
Examples/AsyncFormUpdates/Forms/AsyncFormUpdate.cs
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
using TelegramBotBase.Attributes;
|
||||||
|
using TelegramBotBase.Base;
|
||||||
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
|
namespace AsyncFormUpdates.Forms;
|
||||||
|
|
||||||
|
public class AsyncFormUpdate : AutoCleanForm
|
||||||
|
{
|
||||||
|
[SaveState] private int _counter;
|
||||||
|
|
||||||
|
public override Task Load(MessageResult message)
|
||||||
|
{
|
||||||
|
_counter++;
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task Action(MessageResult message)
|
||||||
|
{
|
||||||
|
await message.ConfirmAction();
|
||||||
|
|
||||||
|
switch (message.RawData ?? "")
|
||||||
|
{
|
||||||
|
case "back":
|
||||||
|
var st = new Start();
|
||||||
|
await NavigateTo(st);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task Render(MessageResult message)
|
||||||
|
{
|
||||||
|
var bf = new ButtonForm();
|
||||||
|
bf.AddButtonRow("Back", "back");
|
||||||
|
|
||||||
|
await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
42
Examples/AsyncFormUpdates/Forms/Start.cs
Normal file
42
Examples/AsyncFormUpdates/Forms/Start.cs
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
using TelegramBotBase.Base;
|
||||||
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
|
namespace AsyncFormUpdates.Forms;
|
||||||
|
|
||||||
|
public class Start : AutoCleanForm
|
||||||
|
{
|
||||||
|
public override async Task Action(MessageResult message)
|
||||||
|
{
|
||||||
|
await message.ConfirmAction();
|
||||||
|
|
||||||
|
switch (message.RawData ?? "")
|
||||||
|
{
|
||||||
|
case "async":
|
||||||
|
|
||||||
|
var afe = new AsyncFormEdit();
|
||||||
|
await NavigateTo(afe);
|
||||||
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "async_del":
|
||||||
|
|
||||||
|
var afu = new AsyncFormUpdate();
|
||||||
|
await NavigateTo(afu);
|
||||||
|
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async Task Render(MessageResult message)
|
||||||
|
{
|
||||||
|
var bf = new ButtonForm();
|
||||||
|
|
||||||
|
bf.AddButtonRow("Open Async Form with AutoCleanupForm", "async_del");
|
||||||
|
|
||||||
|
bf.AddButtonRow("Open Async Form with Edit", "async");
|
||||||
|
|
||||||
|
await Device.Send("Choose your option", bf);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,49 +1,47 @@
|
|||||||
using System.Timers;
|
using System.Timers;
|
||||||
using AsyncFormUpdates.forms;
|
using AsyncFormUpdates.Forms;
|
||||||
using TelegramBotBase;
|
using TelegramBotBase;
|
||||||
using TelegramBotBase.Builder;
|
using TelegramBotBase.Builder;
|
||||||
using Timer = System.Timers.Timer;
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
namespace AsyncFormUpdates
|
namespace AsyncFormUpdates;
|
||||||
|
|
||||||
|
internal class Program
|
||||||
{
|
{
|
||||||
internal class Program
|
private static BotBase __bot;
|
||||||
|
|
||||||
|
private static async Task Main(string[] args)
|
||||||
{
|
{
|
||||||
private static BotBase __bot;
|
__bot = BotBaseBuilder.Create()
|
||||||
|
.QuickStart<Start>(Environment.GetEnvironmentVariable("API_KEY") ??
|
||||||
|
throw new Exception("API_KEY is not set"))
|
||||||
|
.Build();
|
||||||
|
|
||||||
private static async Task Main(string[] args)
|
await __bot.Start();
|
||||||
|
|
||||||
|
var timer = new Timer(5000);
|
||||||
|
|
||||||
|
timer.Elapsed += Timer_Elapsed;
|
||||||
|
timer.Start();
|
||||||
|
|
||||||
|
Console.ReadLine();
|
||||||
|
|
||||||
|
timer.Stop();
|
||||||
|
await __bot.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static async void Timer_Elapsed(object sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
foreach (var s in __bot.Sessions.SessionList)
|
||||||
{
|
{
|
||||||
var apiKey = "APIKey";
|
//Only for AsyncUpdateForm
|
||||||
|
if (s.Value.ActiveForm.GetType() != typeof(AsyncFormUpdate) &&
|
||||||
__bot = BotBaseBuilder.Create()
|
s.Value.ActiveForm.GetType() != typeof(AsyncFormEdit))
|
||||||
.QuickStart<Start>(apiKey)
|
|
||||||
.Build();
|
|
||||||
|
|
||||||
await __bot.Start();
|
|
||||||
|
|
||||||
var timer = new Timer(5000);
|
|
||||||
|
|
||||||
timer.Elapsed += Timer_Elapsed;
|
|
||||||
timer.Start();
|
|
||||||
|
|
||||||
Console.ReadLine();
|
|
||||||
|
|
||||||
timer.Stop();
|
|
||||||
await __bot.Stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static async void Timer_Elapsed(object sender, ElapsedEventArgs e)
|
|
||||||
{
|
|
||||||
foreach (var s in __bot.Sessions.SessionList)
|
|
||||||
{
|
{
|
||||||
//Only for AsyncUpdateForm
|
continue;
|
||||||
if (s.Value.ActiveForm.GetType() != typeof(AsyncFormUpdate) &&
|
|
||||||
s.Value.ActiveForm.GetType() != typeof(AsyncFormEdit))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
await __bot.InvokeMessageLoop(s.Key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await __bot.InvokeMessageLoop(s.Key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,51 +0,0 @@
|
|||||||
using System.Threading.Tasks;
|
|
||||||
using TelegramBotBase.Attributes;
|
|
||||||
using TelegramBotBase.Base;
|
|
||||||
using TelegramBotBase.Form;
|
|
||||||
|
|
||||||
namespace AsyncFormUpdates.forms
|
|
||||||
{
|
|
||||||
public class AsyncFormEdit : FormBase
|
|
||||||
{
|
|
||||||
[SaveState] private int _counter;
|
|
||||||
|
|
||||||
private int _messageId;
|
|
||||||
|
|
||||||
public override Task Load(MessageResult message)
|
|
||||||
{
|
|
||||||
_counter++;
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task Action(MessageResult message)
|
|
||||||
{
|
|
||||||
await message.ConfirmAction();
|
|
||||||
|
|
||||||
switch (message.RawData ?? "")
|
|
||||||
{
|
|
||||||
case "back":
|
|
||||||
|
|
||||||
var st = new Start();
|
|
||||||
await NavigateTo(st);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task Render(MessageResult message)
|
|
||||||
{
|
|
||||||
var bf = new ButtonForm();
|
|
||||||
bf.AddButtonRow("Back", "back");
|
|
||||||
|
|
||||||
if (_messageId != 0)
|
|
||||||
{
|
|
||||||
await Device.Edit(_messageId, $"Your current count is at: {_counter}", bf);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var m = await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
|
|
||||||
_messageId = m.MessageId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,42 +0,0 @@
|
|||||||
using System.Threading.Tasks;
|
|
||||||
using TelegramBotBase.Attributes;
|
|
||||||
using TelegramBotBase.Base;
|
|
||||||
using TelegramBotBase.Form;
|
|
||||||
|
|
||||||
namespace AsyncFormUpdates.forms
|
|
||||||
{
|
|
||||||
public class AsyncFormUpdate : AutoCleanForm
|
|
||||||
{
|
|
||||||
[SaveState] private int _counter;
|
|
||||||
|
|
||||||
|
|
||||||
public override Task Load(MessageResult message)
|
|
||||||
{
|
|
||||||
_counter++;
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task Action(MessageResult message)
|
|
||||||
{
|
|
||||||
await message.ConfirmAction();
|
|
||||||
|
|
||||||
switch (message.RawData ?? "")
|
|
||||||
{
|
|
||||||
case "back":
|
|
||||||
|
|
||||||
var st = new Start();
|
|
||||||
await NavigateTo(st);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task Render(MessageResult message)
|
|
||||||
{
|
|
||||||
var bf = new ButtonForm();
|
|
||||||
bf.AddButtonRow("Back", "back");
|
|
||||||
|
|
||||||
await Device.Send($"Your current count is at: {_counter}", bf, disableNotification: true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
using System.Threading.Tasks;
|
|
||||||
using TelegramBotBase.Base;
|
|
||||||
using TelegramBotBase.Form;
|
|
||||||
|
|
||||||
namespace AsyncFormUpdates.forms
|
|
||||||
{
|
|
||||||
public class Start : AutoCleanForm
|
|
||||||
{
|
|
||||||
public override async Task Action(MessageResult message)
|
|
||||||
{
|
|
||||||
await message.ConfirmAction();
|
|
||||||
|
|
||||||
switch (message.RawData ?? "")
|
|
||||||
{
|
|
||||||
case "async":
|
|
||||||
|
|
||||||
var afe = new AsyncFormEdit();
|
|
||||||
await NavigateTo(afe);
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "async_del":
|
|
||||||
|
|
||||||
var afu = new AsyncFormUpdate();
|
|
||||||
await NavigateTo(afu);
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override async Task Render(MessageResult message)
|
|
||||||
{
|
|
||||||
var bf = new ButtonForm();
|
|
||||||
|
|
||||||
bf.AddButtonRow("Open Async Form with AutoCleanupForm", "async_del");
|
|
||||||
|
|
||||||
bf.AddButtonRow("Open Async Form with Edit", "async");
|
|
||||||
|
|
||||||
await Device.Send("Choose your option", bf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,9 +1,8 @@
|
|||||||
using System.Threading.Tasks;
|
using Telegram.Bot.Types.Enums;
|
||||||
using Telegram.Bot.Types.Enums;
|
|
||||||
using TelegramBotBase.Args;
|
using TelegramBotBase.Args;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace JoinHiderBot.forms;
|
namespace JoinHiderBot.Forms;
|
||||||
|
|
||||||
public class GroupManageForm : GroupForm
|
public class GroupManageForm : GroupForm
|
||||||
{
|
{
|
||||||
@ -19,4 +18,4 @@ public class GroupManageForm : GroupForm
|
|||||||
|
|
||||||
await Device.DeleteMessage(m);
|
await Device.DeleteMessage(m);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,8 +1,7 @@
|
|||||||
using System.Threading.Tasks;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Base;
|
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace JoinHiderBot.forms;
|
namespace JoinHiderBot.Forms;
|
||||||
|
|
||||||
public class Start : SplitterForm
|
public class Start : SplitterForm
|
||||||
{
|
{
|
||||||
@ -3,10 +3,12 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>disable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="TelegramBotBase" Version="5.0.0"/>
|
<ProjectReference Include="..\..\TelegramBotBase\TelegramBotBase.csproj"/>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -1,21 +1,19 @@
|
|||||||
using System;
|
using JoinHiderBot.Forms;
|
||||||
using JoinHiderBot.forms;
|
|
||||||
using TelegramBotBase.Builder;
|
using TelegramBotBase.Builder;
|
||||||
|
|
||||||
namespace JoinHiderBot;
|
namespace JoinHiderBot;
|
||||||
|
|
||||||
internal class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
private static void Main(string[] args)
|
private static async Task Main(string[] args)
|
||||||
{
|
{
|
||||||
var apiKey = "";
|
|
||||||
|
|
||||||
var bot = BotBaseBuilder.Create()
|
var bot = BotBaseBuilder.Create()
|
||||||
.QuickStart<Start>(apiKey)
|
.QuickStart<Start>(Environment.GetEnvironmentVariable("API_KEY") ??
|
||||||
|
throw new Exception("API_KEY is not set"))
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
bot.Start();
|
await bot.Start();
|
||||||
|
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
namespace SystemCommandsBot.commands;
|
namespace SystemCommandsBot;
|
||||||
|
|
||||||
public class Commando
|
public class Command
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
@ -18,4 +18,4 @@ public class Commando
|
|||||||
public int? MaxInstances { get; set; }
|
public int? MaxInstances { get; set; }
|
||||||
|
|
||||||
public string ProcName { get; set; }
|
public string ProcName { get; set; }
|
||||||
}
|
}
|
||||||
@ -1,30 +1,27 @@
|
|||||||
using System;
|
using Newtonsoft.Json;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using SystemCommandsBot.commands;
|
|
||||||
|
|
||||||
namespace SystemCommandsBot.config;
|
namespace SystemCommandsBot;
|
||||||
|
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
public Config()
|
public Config()
|
||||||
{
|
{
|
||||||
Commandos = new List<Commando>();
|
Commands = new List<Command>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Password { get; set; }
|
public string Password { get; set; }
|
||||||
|
|
||||||
public string ApiKey { get; set; }
|
public string ApiKey { get; set; }
|
||||||
|
|
||||||
public List<Commando> Commandos { get; set; }
|
public List<Command> Commands { get; set; }
|
||||||
|
|
||||||
public void LoadDefaultValues()
|
public void LoadDefaultValues()
|
||||||
{
|
{
|
||||||
ApiKey = "";
|
ApiKey = "";
|
||||||
Commandos.Add(new Commando
|
Commands.Add(new Command
|
||||||
{
|
{
|
||||||
Id = 0, Enabled = true, Title = "Test Befehl", ShellCmd = "explorer.exe", Action = "start", MaxInstances = 2
|
Id = 0, Enabled = true, Title = "Test Befehl", ShellCmd = "explorer.exe", Action = "start",
|
||||||
|
MaxInstances = 2
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,4 +87,4 @@ public class Config
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace SystemCommandsBot.forms;
|
namespace SystemCommandsBot.Forms;
|
||||||
|
|
||||||
public class CmdForm : AutoCleanForm
|
public class CmdForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
@ -30,7 +30,7 @@ public class CmdForm : AutoCleanForm
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var cmd = Program.BotConfig.Commandos.Where(a => a.Enabled && a.Id == id).FirstOrDefault();
|
var cmd = Program.BotConfig.Commands.Where(a => a.Enabled && a.Id == id).FirstOrDefault();
|
||||||
if (cmd == null)
|
if (cmd == null)
|
||||||
{
|
{
|
||||||
await Device.Send("Cmd nicht verfügbar.");
|
await Device.Send("Cmd nicht verfügbar.");
|
||||||
@ -145,7 +145,7 @@ public class CmdForm : AutoCleanForm
|
|||||||
{
|
{
|
||||||
if (MessageId == null)
|
if (MessageId == null)
|
||||||
{
|
{
|
||||||
var buttons = Program.BotConfig.Commandos.Where(a => a.Enabled)
|
var buttons = Program.BotConfig.Commands.Where(a => a.Enabled)
|
||||||
.Select(a => new ButtonBase(a.Title, a.Id.ToString()));
|
.Select(a => new ButtonBase(a.Title, a.Id.ToString()));
|
||||||
|
|
||||||
var bf = new ButtonForm();
|
var bf = new ButtonForm();
|
||||||
@ -153,4 +153,4 @@ public class CmdForm : AutoCleanForm
|
|||||||
await Device.Send("Deine Optionen", bf);
|
await Device.Send("Deine Optionen", bf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3,7 +3,7 @@ using System.Threading.Tasks;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace SystemCommandsBot.forms;
|
namespace SystemCommandsBot.Forms;
|
||||||
|
|
||||||
public class StartForm : FormBase
|
public class StartForm : FormBase
|
||||||
{
|
{
|
||||||
@ -1,6 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using SystemCommandsBot.config;
|
using System.Threading.Tasks;
|
||||||
using SystemCommandsBot.forms;
|
using SystemCommandsBot.Forms;
|
||||||
using TelegramBotBase.Builder;
|
using TelegramBotBase.Builder;
|
||||||
|
|
||||||
namespace SystemCommandsBot;
|
namespace SystemCommandsBot;
|
||||||
@ -9,8 +9,7 @@ internal class Program
|
|||||||
{
|
{
|
||||||
public static Config BotConfig { get; set; }
|
public static Config BotConfig { get; set; }
|
||||||
|
|
||||||
|
private static async Task Main(string[] args)
|
||||||
private static void Main(string[] args)
|
|
||||||
{
|
{
|
||||||
BotConfig = Config.Load();
|
BotConfig = Config.Load();
|
||||||
|
|
||||||
@ -25,13 +24,12 @@ internal class Program
|
|||||||
.QuickStart<StartForm>(BotConfig.ApiKey)
|
.QuickStart<StartForm>(BotConfig.ApiKey)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
bot.Start();
|
await bot.Start();
|
||||||
|
|
||||||
Console.WriteLine("Bot started");
|
Console.WriteLine("Bot started");
|
||||||
|
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
|
|
||||||
|
|
||||||
bot.Stop();
|
await bot.Stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,11 +3,12 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>disable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1"/>
|
<ProjectReference Include="..\..\TelegramBotBase\TelegramBotBase.csproj"/>
|
||||||
<PackageReference Include="TelegramBotBase" Version="5.0.0"/>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
|
|
||||||
</startup>
|
|
||||||
<runtime>
|
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
|
|
||||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
|
|
||||||
</dependentAssembly>
|
|
||||||
</assemblyBinding>
|
|
||||||
</runtime>
|
|
||||||
</configuration>
|
|
||||||
@ -5,19 +5,18 @@ using TelegramBotBase.Args;
|
|||||||
using TelegramBotBase.Builder;
|
using TelegramBotBase.Builder;
|
||||||
using TelegramBotBase.Commands;
|
using TelegramBotBase.Commands;
|
||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBaseTest.Tests;
|
using TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest;
|
namespace TelegramBotBase.Example;
|
||||||
|
|
||||||
internal class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
private static async Task Main(string[] args)
|
private static async Task Main(string[] args)
|
||||||
{
|
{
|
||||||
var apiKey = "";
|
var bot = BotBaseBuilder
|
||||||
|
|
||||||
var bb = BotBaseBuilder
|
|
||||||
.Create()
|
.Create()
|
||||||
.WithAPIKey(apiKey)
|
.WithAPIKey(Environment.GetEnvironmentVariable("API_KEY") ??
|
||||||
|
throw new Exception("API_KEY is not set"))
|
||||||
.DefaultMessageLoop()
|
.DefaultMessageLoop()
|
||||||
.WithStartForm<Start>()
|
.WithStartForm<Start>()
|
||||||
.NoProxy()
|
.NoProxy()
|
||||||
@ -36,26 +35,26 @@ internal class Program
|
|||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|
||||||
bb.BotCommand += Bb_BotCommand;
|
bot.BotCommand += Bb_BotCommand;
|
||||||
|
|
||||||
//Update Bot commands to botfather
|
//Update Bot commands to botfather
|
||||||
bb.UploadBotCommands().Wait();
|
bot.UploadBotCommands().Wait();
|
||||||
|
|
||||||
bb.SetSetting(ESettings.LogAllMessages, true);
|
bot.SetSetting(ESettings.LogAllMessages, true);
|
||||||
|
|
||||||
bb.Message += (s, en) =>
|
bot.Message += (s, en) =>
|
||||||
{
|
{
|
||||||
Console.WriteLine(en.DeviceId + " " + en.Message.MessageText + " " + (en.Message.RawData ?? ""));
|
Console.WriteLine(en.DeviceId + " " + en.Message.MessageText + " " + (en.Message.RawData ?? ""));
|
||||||
};
|
};
|
||||||
|
|
||||||
await bb.Start();
|
await bot.Start();
|
||||||
|
|
||||||
Console.WriteLine("Telegram Bot started...");
|
Console.WriteLine("Telegram Bot started...");
|
||||||
Console.WriteLine("Press q to quit application.");
|
Console.WriteLine("Press q to quit application.");
|
||||||
|
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
|
|
||||||
await bb.Stop();
|
await bot.Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task Bb_BotCommand(object sender, BotCommandEventArgs en)
|
private static async Task Bb_BotCommand(object sender, BotCommandEventArgs en)
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
using System.Reflection;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
|
||||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
|
||||||
// die einer Assembly zugeordnet sind.
|
|
||||||
[assembly: AssemblyTitle("TelegramBotBaseTest")]
|
|
||||||
[assembly: AssemblyDescription("")]
|
|
||||||
[assembly: AssemblyConfiguration("")]
|
|
||||||
[assembly: AssemblyCompany("")]
|
|
||||||
[assembly: AssemblyProduct("TelegramBotBaseTest")]
|
|
||||||
[assembly: AssemblyCopyright("Copyright © 2017")]
|
|
||||||
[assembly: AssemblyTrademark("")]
|
|
||||||
[assembly: AssemblyCulture("")]
|
|
||||||
|
|
||||||
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
|
|
||||||
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
|
|
||||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
|
||||||
[assembly: ComVisible(false)]
|
|
||||||
|
|
||||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
|
||||||
[assembly: Guid("5817184c-0d59-4924-ac6c-6b943967811c")]
|
|
||||||
|
|
||||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
|
||||||
//
|
|
||||||
// Hauptversion
|
|
||||||
// Nebenversion
|
|
||||||
// Buildnummer
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
||||||
15
TelegramBotBase.Test/TelegramBotBase.Example.csproj
Normal file
15
TelegramBotBase.Test/TelegramBotBase.Example.csproj
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>disable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\TelegramBotBase.Extensions.Images\TelegramBotBase.Extensions.Images.csproj" />
|
||||||
|
<ProjectReference Include="..\TelegramBotBase\TelegramBotBase.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
@ -1,35 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFrameworks>netcoreapp3.1;net5;net6</TargetFrameworks>
|
|
||||||
<LangVersion>10</LangVersion>
|
|
||||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
|
||||||
<Configurations>Debug;Release</Configurations>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\TelegramBotBase.Extensions.Images\TelegramBotBase.Extensions.Images.csproj" />
|
|
||||||
<ProjectReference Include="..\TelegramBotBase\TelegramBotBase.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@ -3,7 +3,7 @@ using System.Threading.Tasks;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class ButtonTestForm : AutoCleanForm
|
public class ButtonTestForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using TelegramBotBase.Controls.Hybrid;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class ButtonGridForm : AutoCleanForm
|
public class ButtonGridForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using TelegramBotBase.Controls.Hybrid;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class ButtonGridPagingForm : AutoCleanForm
|
public class ButtonGridPagingForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8,7 +8,7 @@ using TelegramBotBase.DataSources;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class ButtonGridTagForm : AutoCleanForm
|
public class ButtonGridTagForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class CalendarPickerForm : AutoCleanForm
|
public class CalendarPickerForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using TelegramBotBase.DataSources;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class CheckedButtonListForm : AutoCleanForm
|
public class CheckedButtonListForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class MonthPickerForm : AutoCleanForm
|
public class MonthPickerForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class MultiToggleButtons : AutoCleanForm
|
public class MultiToggleButtons : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,10 +3,10 @@ using TelegramBotBase.Args;
|
|||||||
using TelegramBotBase.Controls.Hybrid;
|
using TelegramBotBase.Controls.Hybrid;
|
||||||
using TelegramBotBase.DataSources;
|
using TelegramBotBase.DataSources;
|
||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
|
using TelegramBotBase.Example.Tests.Controls.Subclass;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
using TelegramBotBaseTest.Tests.Controls.Subclass;
|
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class MultiViewForm : AutoCleanForm
|
public class MultiViewForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using TelegramBotBase.Base;
|
|||||||
using TelegramBotBase.Controls.Hybrid;
|
using TelegramBotBase.Controls.Hybrid;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls.Subclass;
|
namespace TelegramBotBase.Example.Tests.Controls.Subclass;
|
||||||
|
|
||||||
public class MultiViewTest : MultiView
|
public class MultiViewTest : MultiView
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class ToggleButtons : AutoCleanForm
|
public class ToggleButtons : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Controls;
|
namespace TelegramBotBase.Example.Tests.Controls;
|
||||||
|
|
||||||
public class TreeViewForms : AutoCleanForm
|
public class TreeViewForms : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using Telegram.Bot.Types.ReplyMarkups;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class DataForm : AutoCleanForm
|
public class DataForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -8,7 +8,7 @@ using TelegramBotBase.Controls.Hybrid;
|
|||||||
using TelegramBotBase.DataSources;
|
using TelegramBotBase.DataSources;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.DataSources;
|
namespace TelegramBotBase.Example.Tests.DataSources;
|
||||||
|
|
||||||
public class CustomDataSource : ButtonFormDataSource
|
public class CustomDataSource : ButtonFormDataSource
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using TelegramBotBase.Controls.Hybrid;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.DataSources;
|
namespace TelegramBotBase.Example.Tests.DataSources;
|
||||||
|
|
||||||
public class List : FormBase
|
public class List : FormBase
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using TelegramBotBase.Args;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Groups;
|
namespace TelegramBotBase.Example.Tests.Groups;
|
||||||
|
|
||||||
public class GroupChange : GroupForm
|
public class GroupChange : GroupForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using Telegram.Bot.Types.Enums;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Groups;
|
namespace TelegramBotBase.Example.Tests.Groups;
|
||||||
|
|
||||||
public class LinkReplaceTest : GroupForm
|
public class LinkReplaceTest : GroupForm
|
||||||
{
|
{
|
||||||
@ -121,7 +121,7 @@ public class LinkReplaceTest : GroupForm
|
|||||||
|
|
||||||
if (Counter[from] >= 3)
|
if (Counter[from] >= 3)
|
||||||
{
|
{
|
||||||
await e.Device.KickUser(from);
|
await e.Device.BanUser(from);
|
||||||
|
|
||||||
await e.Device.Send(e.Message.From.FirstName + " " + e.Message.From.LastName +
|
await e.Device.Send(e.Message.From.FirstName + " " + e.Message.From.LastName +
|
||||||
" has been removed from the group");
|
" has been removed from the group");
|
||||||
@ -162,4 +162,4 @@ public class LinkReplaceTest : GroupForm
|
|||||||
|
|
||||||
return matches.Count > 0;
|
return matches.Count > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using TelegramBotBase.Args;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Groups;
|
namespace TelegramBotBase.Example.Tests.Groups;
|
||||||
|
|
||||||
public class WelcomeUser : GroupForm
|
public class WelcomeUser : GroupForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,12 +2,12 @@
|
|||||||
using Telegram.Bot.Types.Enums;
|
using Telegram.Bot.Types.Enums;
|
||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
|
using TelegramBotBase.Example.Tests.Controls;
|
||||||
|
using TelegramBotBase.Example.Tests.DataSources;
|
||||||
|
using TelegramBotBase.Example.Tests.Groups;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
using TelegramBotBaseTest.Tests.Controls;
|
|
||||||
using TelegramBotBaseTest.Tests.DataSources;
|
|
||||||
using TelegramBotBaseTest.Tests.Groups;
|
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class Menu : AutoCleanForm
|
public class Menu : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using System.Threading.Tasks;
|
|||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
using TelegramBotBase.Form.Navigation;
|
using TelegramBotBase.Form.Navigation;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Navigation;
|
namespace TelegramBotBase.Example.Tests.Navigation;
|
||||||
|
|
||||||
internal class CustomController : NavigationController
|
internal class CustomController : NavigationController
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using Telegram.Bot.Types;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Navigation;
|
namespace TelegramBotBase.Example.Tests.Navigation;
|
||||||
|
|
||||||
public class Form1 : FormBase
|
public class Form1 : FormBase
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using Telegram.Bot.Types;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Navigation;
|
namespace TelegramBotBase.Example.Tests.Navigation;
|
||||||
|
|
||||||
public class Start : FormBase
|
public class Start : FormBase
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using TelegramBotBase.Base;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Notifications;
|
namespace TelegramBotBase.Example.Tests.Notifications;
|
||||||
|
|
||||||
public class Start : AutoCleanForm
|
public class Start : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using TelegramBotBase.Controls.Inline;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class ProgressTest : AutoCleanForm
|
public class ProgressTest : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register;
|
namespace TelegramBotBase.Example.Tests.Register;
|
||||||
|
|
||||||
public class PerForm : AutoCleanForm
|
public class PerForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
|
using TelegramBotBase.Example.Tests.Register.Steps;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
using TelegramBotBaseTest.Tests.Register.Steps;
|
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register;
|
namespace TelegramBotBase.Example.Tests.Register;
|
||||||
|
|
||||||
public class PerStep : AutoCleanForm
|
public class PerStep : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register;
|
namespace TelegramBotBase.Example.Tests.Register;
|
||||||
|
|
||||||
public class Start : AutoCleanForm
|
public class Start : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
namespace TelegramBotBaseTest.Tests.Register.Steps;
|
namespace TelegramBotBase.Example.Tests.Register.Steps;
|
||||||
|
|
||||||
public class Data
|
public class Data
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using TelegramBotBase.Args;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register.Steps;
|
namespace TelegramBotBase.Example.Tests.Register.Steps;
|
||||||
|
|
||||||
public class Step1 : AutoCleanForm
|
public class Step1 : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register.Steps;
|
namespace TelegramBotBase.Example.Tests.Register.Steps;
|
||||||
|
|
||||||
public class Step2 : AutoCleanForm
|
public class Step2 : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests.Register.Steps;
|
namespace TelegramBotBase.Example.Tests.Register.Steps;
|
||||||
|
|
||||||
public class Step3 : AutoCleanForm
|
public class Step3 : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -4,7 +4,7 @@ using TelegramBotBase.Base;
|
|||||||
using TelegramBotBase.Enums;
|
using TelegramBotBase.Enums;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class SimpleForm : AutoCleanForm
|
public class SimpleForm : AutoCleanForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
|
using TelegramBotBase.Example.Tests.Groups;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
using TelegramBotBaseTest.Tests.Groups;
|
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class Start : SplitterForm
|
public class Start : SplitterForm
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3,7 +3,7 @@ using System.Threading.Tasks;
|
|||||||
using TelegramBotBase.Base;
|
using TelegramBotBase.Base;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class TestForm : FormBase
|
public class TestForm : FormBase
|
||||||
{
|
{
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using TelegramBotBase.Base;
|
|||||||
using TelegramBotBase.Extensions.Images;
|
using TelegramBotBase.Extensions.Images;
|
||||||
using TelegramBotBase.Form;
|
using TelegramBotBase.Form;
|
||||||
|
|
||||||
namespace TelegramBotBaseTest.Tests;
|
namespace TelegramBotBase.Example.Tests;
|
||||||
|
|
||||||
public class TestForm2 : FormBase
|
public class TestForm2 : FormBase
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net5"/>
|
|
||||||
<package id="System.Net.Requests" version="4.3.0" targetFramework="net5"/>
|
|
||||||
<package id="Telegram.Bot" version="14.12.0" targetFramework="net5"/>
|
|
||||||
</packages>
|
|
||||||
@ -5,7 +5,7 @@ VisualStudioVersion = 17.0.31912.275
|
|||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelegramBotBase", "TelegramBotBase\TelegramBotBase.csproj", "{0BD16FB9-7ED4-4CCB-83EB-5CEE538E1B6C}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelegramBotBase", "TelegramBotBase\TelegramBotBase.csproj", "{0BD16FB9-7ED4-4CCB-83EB-5CEE538E1B6C}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelegramBotBaseTest", "TelegramBotBase.Test\TelegramBotBaseTest.csproj", "{88EC0E02-583D-4B9D-956C-81D63C8CFCFA}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TelegramBotBase.Example", "TelegramBotBase.Test\TelegramBotBase.Example.csproj", "{88EC0E02-583D-4B9D-956C-81D63C8CFCFA}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3856B3FB-63E3-444A-9FF0-34171BE7AC5D}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3856B3FB-63E3-444A-9FF0-34171BE7AC5D}"
|
||||||
ProjectSection(SolutionItems) = preProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user