mirror of
				https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
				synced 2025-10-31 12:10:05 +00:00 
			
		
		
		
	update
This commit is contained in:
		| @@ -1,38 +1,24 @@ | ||||
| buildscript { | ||||
|     repositories { | ||||
|         mavenLocal() | ||||
|         jcenter() | ||||
|         mavenCentral() | ||||
|     } | ||||
|  | ||||
|     dependencies { | ||||
|         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||
|         classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" | ||||
|     } | ||||
| } | ||||
|  | ||||
| plugins { | ||||
|     id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version" | ||||
| } | ||||
|  | ||||
| apply plugin: 'kotlin' | ||||
| apply plugin: 'application' | ||||
|  | ||||
| project.version = "0.1.0" | ||||
| project.group = "com.insanusmokrassar" | ||||
|  | ||||
| mainClassName="com.insanusmokrassar.examples.ForwarderBotKt" | ||||
|  | ||||
| repositories { | ||||
|     mavenLocal() | ||||
|     jcenter() | ||||
|     mavenCentral() | ||||
| } | ||||
|  | ||||
| dependencies { | ||||
|     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" | ||||
|     implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" | ||||
|  | ||||
|     implementation "com.github.insanusmokrassar:TelegramBotAPI:$telegram_bot_api_version" | ||||
|     implementation "com.github.insanusmokrassar:TelegramBotAPI-extensions-api:$telegram_bot_api_version" | ||||
|     implementation "com.github.insanusmokrassar:TelegramBotAPI-all:$telegram_bot_api_version" | ||||
| } | ||||
|   | ||||
| @@ -33,7 +33,7 @@ suspend fun main(args: Array<String>) { | ||||
|                 is UserForwardInfo -> forwardInfo.from.let { user -> | ||||
|                     "User ${user.id.chatId.toString().codeMarkdownV2()} " + "(${user.firstName} ${user.lastName}: ${user.username ?.username ?: "Without username"})".regularMarkdownV2() | ||||
|                 } | ||||
|                 is ForwardFromChannelInfo -> "Channel (".regularMarkdownV2() + (forwardInfo.channelChat as ChannelChat).title.codeMarkdownV2() + ")".regularMarkdownV2() | ||||
|                 is ForwardFromChannelInfo -> "Channel (".regularMarkdownV2() + (forwardInfo.channelChat).title.codeMarkdownV2() + ")".regularMarkdownV2() | ||||
|             } | ||||
|         } else { | ||||
|             "There is no forward info" | ||||
|   | ||||
							
								
								
									
										9
									
								
								RandomFileSenderBot/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								RandomFileSenderBot/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| # RandomFileSenderBot | ||||
|  | ||||
| This bot will send random file from input folder OR from bot working folder | ||||
|  | ||||
| ## Launch | ||||
|  | ||||
| ```bash | ||||
| ../gradlew run --args="BOT_TOKEN[ optional/folder/path]" | ||||
| ``` | ||||
							
								
								
									
										24
									
								
								RandomFileSenderBot/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								RandomFileSenderBot/build.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| buildscript { | ||||
|     repositories { | ||||
|         jcenter() | ||||
|     } | ||||
|  | ||||
|     dependencies { | ||||
|         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||
|     } | ||||
| } | ||||
|  | ||||
| apply plugin: 'kotlin' | ||||
| apply plugin: 'application' | ||||
|  | ||||
| mainClassName="com.insanusmokrassar.examples.RandomFileSenderBotKt" | ||||
|  | ||||
| repositories { | ||||
|     jcenter() | ||||
| } | ||||
|  | ||||
| dependencies { | ||||
|     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" | ||||
|  | ||||
|     implementation "com.github.insanusmokrassar:TelegramBotAPI-all:$telegram_bot_api_version" | ||||
| } | ||||
| @@ -0,0 +1,64 @@ | ||||
| package com.insanusmokrassar.examples | ||||
|  | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.bot.Ktor.KtorRequestsExecutor | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.sendTextMessage | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.MessageEntity.textsources.BotCommandTextSource | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.MarkdownV2 | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.ChannelChat | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.message.* | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextContent | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.BaseMessageUpdate | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.utils.* | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.utils.extensions.UpdateReceiver | ||||
| import com.github.insanusmokrassar.TelegramBotAPI.utils.extensions.startGettingOfUpdates | ||||
| import kotlinx.coroutines.* | ||||
|  | ||||
| /** | ||||
|  * This bot will always return message about forwarder. In cases when sent message was not a forward message it will | ||||
|  * send suitable message | ||||
|  */ | ||||
| suspend fun main(args: Array<String>) { | ||||
|     val botToken = args.first() | ||||
|  | ||||
|     val bot = KtorRequestsExecutor(TelegramAPIUrlsKeeper(botToken)) | ||||
|  | ||||
|     val scope = CoroutineScope(Dispatchers.Default) | ||||
|  | ||||
|     val callback: UpdateReceiver<BaseMessageUpdate> = { messageUpdate -> | ||||
|         val message = messageUpdate.data | ||||
|         val infoToSend = if (message is ContentMessage<*>) { | ||||
|             val content = message.content | ||||
|             when (content) { | ||||
|                 is TextContent -> { | ||||
|                     val commandSource = (content.entities.singleOrNull() ?.source as? BotCommandTextSource) | ||||
|                     if (commandSource != null && commandSource.command == "sendFile") { | ||||
|                         // TODO | ||||
|                     } else { | ||||
|                         bot.sendTextMessage(message.chat, "Send me /sendFile to get random file") | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|             val forwardInfo = message.forwardInfo | ||||
|             when (forwardInfo) { | ||||
|                 null -> "There is no forward info" | ||||
|                 is AnonymousForwardInfo -> "Anonymous user which signed as \"${forwardInfo.senderName.codeMarkdownV2()}\"" | ||||
|                 is UserForwardInfo -> forwardInfo.from.let { user -> | ||||
|                     "User ${user.id.chatId.toString().codeMarkdownV2()} " + "(${user.firstName} ${user.lastName}: ${user.username ?.username ?: "Without username"})".regularMarkdownV2() | ||||
|                 } | ||||
|                 is ForwardFromChannelInfo -> "Channel (".regularMarkdownV2() + (forwardInfo.channelChat as ChannelChat).title.codeMarkdownV2() + ")".regularMarkdownV2() | ||||
|             } | ||||
|         } else { | ||||
|             "There is no forward info" | ||||
|         } | ||||
|         bot.sendTextMessage(message.chat, infoToSend, MarkdownV2) | ||||
|     } | ||||
|  | ||||
|     bot.startGettingOfUpdates( | ||||
|         messageCallback = callback, | ||||
|         channelPostCallback = callback, | ||||
|         scope = scope | ||||
|     ) | ||||
|  | ||||
|     scope.coroutineContext[Job]!!.join() | ||||
| } | ||||
| @@ -1,4 +1,3 @@ | ||||
| kotlin_version=1.3.61 | ||||
| kotlin_coroutines_version=1.3.3 | ||||
| kotlin_version=1.3.72 | ||||
|  | ||||
| telegram_bot_api_version=0.23.3 | ||||
| telegram_bot_api_version=0.27.5 | ||||
|   | ||||
| @@ -1 +1,2 @@ | ||||
| include ":ForwarderBot" | ||||
| include ":RandomFileSenderBot" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user