Commit graph

112 commits

Author SHA1 Message Date
Daenges
95378dca8e
Automatic sugar cane farming (#1882)
* Automatic sugar cane farming

Inspired by #1871 I wrote a script to farm a field of sugar cane fully autonomous.

* Implement suggestions

* Remove unused comment

* Remove comment and improve return value
2022-01-04 22:34:09 +08:00
Archer57
2858e0cbb7
Added docker-compose configuration (#1855)
* Fixed some spelling and typing mistakes

* Added docker-compose configuration

* Added docker-compose description to the user manual

* changed the default path of the mapped volume to a relative path
2021-12-19 11:49:02 +08:00
Archer57
5a56ae65b2
Fixed some spelling and typing mistakes (#1852) 2021-12-17 12:13:03 +08:00
Daenges
381b8ea7d1
Add setrnd command (#1846)
* Add setrnd command

* Make rand private

* Add console-like argument behaviour

* Remove unused using declarations

* Add german and english translations

* Improve translation, Add notice to config README, Add check wheather arguments are provided

* Add some comments

* Remove typo

* Add %player% constant to setrnd

* Remove test variable and add comments

* Remove typo

* Reverse changes

* Remove translations
2021-12-15 18:51:16 +08:00
ORelio
8de7618027 Update README and URLs
Moving to a GitHub organization!
2021-10-10 20:56:39 +02:00
ORelio
ab3f624336
Readme: Mono certificates: Add help from #1708
Mozroots is not longer used for newer Mono versions
2021-08-06 11:35:45 +02:00
Daenges
b3b9a26288
Add script for excavating cubes (#1677)
* Add MineCube.cs

* Clear unused comments and using directives

* Move the command to a chatbot class

* Set a maximum sleep time for block mining

* Add tool selection function

* Improve the block - tool detection

* Improve naming and comments

* Add missing blocktypes

* Add block-tool assertion and tool switching in hotbar

* Remove unused using declaratives and improve coordinate handling

* Move Material2Tool in the Mapping folder

* Add function to let the bot mine up to 5 blocks above its head

* Remove obsolete function to detect breakability

* Implement mineup command
Users can dig out a 2 high square manually. The client will walk through it
mining everything that is reachable above, while avoiding falling blocks and liquids.

* Refactor big parts of the code
Move the function for obtaining cubes to a seperate file.
Sort Unbreakables alphabetically.
Change the distance to wait in the mine function back to 2.

* Fix suggestions from review
Change several parts of the code according to the review
Add credits

* Convert the bot into a script file and move it to config folder
Adjust the script to be loadable with /script
Remove unnecessary code
Add public modifier to material2tool

* Add checking for lava and water for normal mining

* Remove MineCube.cs from chatbots

* Code re-format

Rename variables
Fix indentation

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-08-03 13:25:43 +08:00
ORelio
e90e7b6b2c
Update user manual 2021-06-18 21:03:00 +02:00
Daenges
83e61f04b7
Delete unnecessary Mail.cs (#1619)
This file was created for test reasons and never worked properly. With the implementation of the Mailer.cs chat bot this file became completely obsolete and is currently wasting unnecessary disk space.
2021-06-03 20:55:11 +08:00
Daenges
061b71befc Prevent errors from OnPlayerLeave() returning NULL
I suffered from some errors when I started the script. I soon found out, that the client detects some players leaving and I was wondering why, because there was not even a leaving message. I soon found out that the errors came from OnPlayerLeave() which returned a UUID but the name parameter was NULL. I don't know whether this is a bug in the client, but this should fix it for the script.
2021-06-02 23:11:36 +02:00
Daenges
5281bc140c
Fix pinging system in DiscordWebhook.cs (#1610)
* Check if ping already exists to avoid crashes.
* Remove bug where multiple words are not pinged
2021-05-31 18:54:04 +02:00
ORelio
b9935ab8fa AutoRespond: Support for per-match cooldown (#593)
Prevent a match from triggering too often using a cooldown
By default, matches do not have a cooldown (it's opt-in)
Also add translation support and more debug messages
2021-05-22 15:27:28 +02:00
ORelio
172e25fef0 Parse settings from the command line (#1578)
Allow specifying any setting as --setting=value
Sections other than main: --section.setting=value
Previous positional arguments are still supported
Update user manual with quick usage and examples
2021-05-20 21:40:57 +02:00
Daenges
b8ce4d16c4 Add more intuitive link for hardcoding 2021-05-08 11:48:15 +02:00
Daenges
2bf29c06a4
Implement hardcoding the WebhookURL (#1571)
* Implement hardcoding the WebhookURL

* Convert tabs to spaces

* Add comment
2021-05-06 19:53:20 +08:00
ReinforceZwei
7fd0f9157f
DiscordWebhook: Fix syntax error 2021-04-28 10:37:32 +08:00
Daenges
239900451d
Improvements for Discord Webhook (#1544)
* Improve caching and remove unused functions
* Save Player UUID before leaving
Save the UUID when they leave and save it until they join again.
* Clear the cache after disconnect
* Update MinecraftClient/config/ChatBots/DiscordWebhook.cs
2021-04-18 16:14:09 +02:00
Daenges
b3bae6c2f8
Add DiscordWebhook ChatBot (#1532)
* Send chatmessages to Discord via webhook.

With corresponding Minecraft skins as profilepicture.

* Support for pings at keywords and server messages.

* Cleanup, Settings Class and applied suggestions.

* Fix all function names

* Improve variable naming and UUID search

* Re-format some comment

* Rename file to DiscordWebhook.cs

* Add message caching and option for disabling UUID lookup

Add Message class
Add Cache class
Change internal Message delivery

* Add an ignore list

Improved help message
Add option to get all settings

* Add feature to deactivat CustomChatDetection

Comment some functions

* Option to unload the bot

Fix crash when not entering a valid ping syntax

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-04-14 10:21:18 +08:00
goldenlib
cca0f1f47c
TreeFarmer: Change sapling direction to up (#1537)
Invalid direction to place the sapling
2021-04-11 22:53:53 +08:00
ReinforceZwei
58feaaa39a
Fix TreeFarmer bot syntax error (#1535) 2021-04-11 21:47:48 +08:00
Tan to the Dashi
fd7a84bc91
Add Dockerfile (#1504)
* feat: Add Dockerfile
* fix: Download latest version and not a fixed one

Using jq we can query the appvoyor api to get the latest jobId
2021-03-14 11:14:13 +01:00
ORelio
f5f1a22b93 Add sample-script-random-command (#972, #1117) 2021-01-30 23:41:24 +01:00
Рома Данилов
1c0826a045
Add QIWI OnDonation Optional ChatBot Script (#1360)
* Create QIWIDonation
* Rename QIWIDonation to QIWIDonation.cs
* Update QIWIDonation.cs
* Using double not float
* Add Check type
* Update QIWIDonation.cs
* Rename QIWIDonation.cs to QIWIAPI.cs
* Update QIWIAPI.cs
* Update QIWIAPI.cs
* Update QIWIAPI.cs
2020-12-06 13:07:32 +01:00
Рома Данилов
69c300cf5f
Update VkMessager add Example (#1354)
* Update VkMessager.cs
* Update VkMessager.cs
* Move summary above the ChatBot
* Add minimal working example
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-12-05 14:34:33 +01:00
ReinforceZwei
09800eab31 Add AutoTree ChatBot script
This script is made to work with Minecraft auto-tree machine.
2020-12-05 14:26:25 +01:00
Рома Данилов
2eba2149b7
VkMessagercs: New Methods and VK API version update (#1319)
* New Methods and VK API version update
* Update VkMessager.cs
* Update VkMessager.cs
* Fix code indenting
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-11-08 23:49:19 +01:00
ORelio
2a7f0c7f16
Mention sample-script-with-chatbot in Readme
This helps debugging chat message detection
2020-11-05 20:13:52 +01:00
ORelio
b86444b2a6
README file: Add links to INI files 2020-10-30 20:41:35 +01:00
ORelio
73ba2d1555
Improve markdown formatting of user manual 2020-10-22 23:11:56 +02:00
ORelio
9df255dd29 Add sample script with task (#1281)
This script shows how to run code periodically without using a thread.
2020-10-18 12:05:44 +02:00
ORelio
a38c9dd000
Add OreMiner.cs
Script by ReinforceZwei from #1254
2020-09-19 12:16:15 +02:00
ReinforceZwei
7e20e409a8
Add support for creating replay mod capture files (#1246)
* Add test replay handler
* Fix incorrect built raw packet
* Fix incorrect built raw packet
* Add filter
* Add not working zip lib
* Add dotNetZip lib and complete basic function
* Update ReplayHandler.cs
* Complete Replay handler
Without client player handling
* Complete replay mod
- New ChatBot OnNetworkPacket event
* Add auto-backup and command for Replay Mod
* Add ReplayMod description to readme
* Small naming changes, fix compile error on .NET4.0
* ReplayHandler slight optimizations
Use Path.Combine to automatically use Windows '\' or Linux '/'
Move re-usable common parts outside the Replay handler
Small optimizations in building JSON strings
Co-authored-by: ORelio <oreliogitantispam.l0gin@spamgourmet.com>
2020-09-06 21:51:42 +02:00
ReinforceZwei
e71d0e2383
Improve AutoAttack (#1218)
* Improve AutoAttack
- New attack mode
- Fix abnormally low attack damage
* Add document for AutoCraft
* Improve code style and user feedback
* Correct spelling mistakes
2020-08-18 13:02:36 +02:00
Рома Данилов
4a3a23eb1d
Update VkMessager.cs (#1203)
* Update VkMessager.cs
* Fix
* Complite
* Update VkMessager.cs
2020-08-14 20:43:59 +02:00
Рома Данилов
3c30b34b91
Update VK API (#1201)
* Update VK API
* Fix copy paste
2020-08-13 10:30:35 +02:00
Рома Данилов
3f94814bda
VkMessager: New SendMessage RandomID core (#1198) 2020-08-12 21:47:20 +02:00
Рома Данилов
d33677a245 Update VK API Version 2020-08-10 20:13:20 +02:00
Daenges
92e776cebc
Add Mailer bot (#1108)
* Update for the mail script.

As requested, I added the synchronization between the config debugmessage bool and the one in the script. Furthermore, I added a way to send anonymous mails by writing "tellonym". The messages are saved as normal mails, which lets them count to the mail cap, due to the fact that the host knows the sender.

I added the script to the chat bots because of the problems, that the scripts have with serialization. Instead of rewriting the whole serialization part, my idea was to add the script to the other chat bots, to avoid the compiling issues. Then the serialization would work perfectly fine. Then you could remove the option class at some point and move all the settings to the config file with the addition to activate the whole script.

* Correction of debug message loading.

The object was missing and the change would be overridden a few lines later.

* Update McClient.cs

* Add Mail to config file

* Correcting the safe file.

* Small correction of Settings.c

* Update Mailscript

Added a failsafe version of the path changing commands. If a path could not be found, an error will be created and the path will be reseted to standart, to avoid endless chains of errors.

* Fix for the mail script

Removed a wrong option call. Removed the debug_msg condition around the path functions. => Users are aware of what happened (if they see the error) although they turned off debug_msg.

* Added some features.

Added a try statement to all number changing commands. Added a command to list all moderators to the console.

* Serialization Fix

There was a chance, that if two bots work on one file, and two users send messages in a short time period, that one bot deserializes the message and then the other bot deserialize the same file, before the other one could save its changes. This would lead to one message disappearing, because one bot never deserialized this message. For this I changed the whole serialization process. 
All changes are now committed after the interval and not after an incoming mail command directly. All mails are safed temporarily in cache and get serialized after the interval. Due to this changes, you can determit when the individual bot changes the file (there are no more direct interactions with the file after a command, which lead to a certain randomness). Furthermore you can now set an interval of e.g. 2 mins and reset the interval of one bot with "resettimer" after one minute so that the bots won't disturb eachother and no files get lost.

* My idea of a manual.

This is my idea of a manual for the bot. Improvements of my language / further ideas are welcome! :D

* addIgnored [NAME] and removeIgnored[NAME]

Added an ignored list. Moderators can add players to the list. The bot won't react to them and just log to the console that they are ignored, everytime they are sending a message, to ensure that they are not accidently ignored. (Just if debug_msg is active.)
 Especially useful if there are other chat bots on the server, which spam many messages that aren't useful for the mail system. Or block spammers etc.

* Add the three commands to the manual.

Added addignored, removeignored and getignored to the manual.

* Remove moderators. Implement Console Control.

Due to security concerns, I converted all moderator commands to console internal commands. Thereby only the host can change crucial settings. Special thanks to ORelio for the hint!

* Added empty statement check

Added if to all commands, where the syntax is not already protected by a try, so that an incorrect syntax (Empty args[] due to missing statement) won't crash the script.

* Changed the serialization fail

If the programm can't safe the file, because of some strange character for instance, it first tries to change the path back to normal and if this not helps, it creates a new, file.

* toggle mail sending/receiving

Add an option to turn mailsending and the listening to commands in chat on/off.

* Updated manual.

- Removed moderator commands.
- Removed moderator part in the network manual
+ added the two new commands
+ added a waring for nick plugins and minecraft renames
+ added a small syntax example

* Updated the Settings.cs file.

* Smaller fixes and additions

+ improved command reading of 'mail' & 'tellonym'
+ sorted internal commands alphabetically
+ host can set a maximum message length
+ host can accept commands from public chat
+ host can decide if 'self mailing' (mailing yourself) is accepted
+ new order makes 'getsettings' easier to read
+ new internal commands to toggle 'publiccommands' and 'selfmailing' as well as the maximum mail size
- removed the old command interpreter

* Small improvements and additions

Added a few commands and settings

* Completing getsettings

+ added 'publiccomands'

* Completed getsettings

+ Added 'publiccommand' to 'getsettings'

* Removed single bolean, added Dictionary

- removed all boleans in the option class
- removed all functions relating them
+ added Dictionary for the booleans
+ added a single function to set/toggle all booleans

* Removed Commands, added interpreter

- Removed all Register commands
- removed all integer methods
+ added a single mail command
+ added integer dictionary
+ added integer handling similar like bool handling

* Small fix

+ Changed the numbers in several methods to adjust them to the new syntax.
- removed parameters in several methods, because they got unneccesary

* Even smaller fix

+ Sorted 'getsettings' alphabetically
+ corrected a typo

* New Serialization method.

Now serializing through the .INI format! Thanks to ORelio, who helped me a lot! :)

* Added different time

Added the option to switch between utc and the time of the local machine for timestamps.

* Made timeinutc serializable

Added the bool to the serialization method.

* Adding the INIFile.cs

For Dictionary serialization.

* Reworked ignore feature

Ignored players are now serialized in a file and reloaded, after the bot enters a server.

* Mailer bot refactoring

Rename Mail to Mailer
Move options to MinecraftClient.ini
Make the bot much simpler by removing some settings
Create specific MailDatabase and IgnoreList classes
However the core functionality for users is the same

Settings removed:
 - allow_sendmail: Cannot use Mailer if it's disabled
 - allow_receivemail: Cannot use Mailer if it's disabled
 - path_setting: Settings moved to MinecraftClient.ini
 - debug_msg: MCC already has a setting for that with LogDebugToConsole()
 - auto_respawn: MCC already has a built-in auto-respawn feature
 - allow_selfmail: Is it really necessary to block self mails? ;)
 - maxcharsinmsg: Automatically calculated based on max chat message length
 - timeinutc: DateTime is not show to the recipient so I think it's not absolutely necessary
 - interval_sendmail: Set to 10 seconds for now

Internal Commands removed:
 - changemailpath: Now a static setting in config
 - changesettingspath: Now a static setting in config
 - updatemails: Already updated every 10 seconds
 - getsettings: Shown on startup with debugmessages=true
 - resettimer: Seems only useful for debugging
 - setbool: Settings are static in config file
 - setinteger: Settings are static in config file

All user commands are retained:
 - mail
 - tellonym

* Reload database for mailer network feature

* Merge Mail documentation to Readme.md

Co-authored-by: ORelio <oreliogitantispam.l0gin@spamgourmet.com>
2020-08-03 21:44:39 +02:00
Рома Данилов
712875251e
Add UnLoadBot to ChatBot API (#1164)
Add UnloadBot
Add BotList
Update VkMessager
Remove debug info
2020-08-01 14:24:17 +02:00
Рома Данилов
55f8988bbc
Allow DLLs in scripts, Update VKAPI (#1158)
* Update VKAPI
* KeyBoard Update
* Add Custom Libs
* Change add method
2020-08-01 13:02:58 +02:00
Рома Данилов
432f55460d
Fix TreeFarmer (#1157) 2020-07-29 21:52:38 +02:00
Рома Данилов
b5c7dc4fc4
Update SugarCaneMiner.cs (#1156)
Fix
2020-07-29 21:52:15 +02:00
Рома Данилов
e91fefadb3 Fix CobbleMiner 2020-07-29 21:49:59 +02:00
ORelio
e542612e76 Add warnings about bot owner spoofing (#1142) 2020-07-24 12:53:21 +02:00
Рома Данилов
f8111d6b3b Fix VKAPI 2020-07-18 15:12:01 +02:00
Рома Данилов
03388bf5a1
VkMessager bug fix (#1119)
* Update VkMessager.cs

VK API Auto Update Server Key

* Update VkMessager.cs

* Update VkMessager.cs

* Update VkMessager.cs

* Update VkMessager.cs

* Update VkMessager.cs

* Update VkMessager.cs
2020-07-08 21:30:08 +02:00
Рома Данилов
1088e6c4fd
PayKassa bot (#1114) 2020-07-07 19:29:57 +02:00
Рома Данилов
b7b242cff1 Create ClckRuAPI.cs 2020-07-07 19:28:28 +02:00
ORelio
e9f1a4477c Mail ChatBot to Mail script (#1102)
The script compiles but does not work yet due to serialization
2020-07-04 11:01:12 +02:00
Daenges
4f3f217c0f
Fix for the mail script. (#1102)
* New version of the bot.

I improved some things and added the option to change some settings directly through minecraft.

* Update Mail.cs

* Update Mail.cs

* Easy cross server fix.

Besides some other lines, I added a simple way, to setup a cross server system. Through the preconfigured save path, you just need to put two or more instances in the same folder and launch them, to get a cross server mail system.

* Improvement to cross server system.

You are now able to change the directory of the mail/option file inside of the applications folder through mc chat. This means you can run several applications in one folder which are grouped to several safe files and have completely different option settings. (Linking servers in groups or adjust every bot perfectly for the individual server.)
2020-07-04 10:39:37 +02:00