Help:Automation: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 67: Line 67:
! Bot name !! Owner !! Framework !! Purpose <!-- Could also be "description" --> !!  Status <!-- This would need to be updated every now and then--> <!-- !! Source code section could be added sometime in the future-->
! Bot name !! Owner !! Framework !! Purpose <!-- Could also be "description" --> !!  Status <!-- This would need to be updated every now and then--> <!-- !! Source code section could be added sometime in the future-->
|-
|-
| {{u|VDCBot}} || {{valve|4}} || {{N/A}} || || || <p style="color:yellow;display:inline">Active</p> (intermittently)
| {{u|VDCBot}} || {{valve|4}} || {{N/A}} || || <p style="color:yellow;display:inline">Active</p> (intermittently)
|-
|-
| {{u|PIPEbot}} || {{u|Mailmanmicky}} || {{pywikibot|4.1}} || {{N/A}} || <p style="color:red;display:inline">Inactive</p>, likely to never become active{{ref|3}}
| {{u|PIPEbot}} || {{u|Mailmanmicky}} || {{pywikibot|4.1}} || {{N/A}} || <p style="color:red;display:inline">Inactive</p>, likely to never become active{{ref|3}}

Revision as of 05:23, 7 April 2024

Icon-under construction-blue.png
This is a draft help page. It is a work in progress open to editing by anyone.
 A user has proposed this page to be moved to Help:Automation to be finalized and properly integrated into this wiki.
Remember to check for any notes left by the tagger at this article's talk page.

Stub

This article or section is a stub. You can help by expanding it.

This article delves into the realm of automation, exploring the scripts and bots in streamlining processes and enhancing efficiency across VDC.

Scripts

Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting.

Note.pngNote:Some tips on how to make your life easier when performing various tedious tasks. As you know, any simple tasks that do not contain something like "write a poem!" are subject to automation, although this is still possible today. But here I will show you some scripts that are useful... for creating something.
Tip.pngTip:Almost any AI Bot makes mistakes during automation and requires appropriate prompts. Separately written scripts are still prefer for such tasks.

Entity Lists

Todo: Python implementation with GUI (PyQT6)

Creating lists of entities is not something supernatural; in fact, it is a simple task. While reaching the .fgd file format, I outlined some points for myself that can be used to my advantage. Well, look!

Warning.pngWarning:This script is useless if the FGD format is changed in the project (on the Source Source Engine). This script is works with the standard Valve format of FGD files for all vanilla Source Source branches.
Note.pngNote:These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as grep, sed, and awk

Issues

Icon-Bug.pngBug:Sometimes the script adds entities to the wrong section (with a different prefix)  [todo tested in ?]
Icon-Bug.pngBug:Sometimes unnecessary spaces may be created.  [todo tested in ?]

For Source Source FGDs

The Script[1]

  • Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
  • Creates sections based on the prefixes extracted from the processed lines. It uses an associative array declare -A seen to keep track of prefixes that have already been processed. This ensures that each prefix corresponds to a single section.
  • Uses *{{ent|$result}} to format the processed lines as wiki entries.
  • The section headers are formatted as ===%s_*=== where %s is replaced with the prefix. For example, if the prefix is example, the section header will be ===example_*===. Each processed line is then added under the appropriate section.
  • Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections.

Usage

Source-FGD-Ent-List-VDC-2.sh <input> <output>

Examples

For GoldSrc GoldSrc FGDs

The Script[2]

  • The logic is same to Source Source script
    • Uses grep -i '^\(@solidclass\|@pointclass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
    • Uses *{{ent|$result_(GoldSrc)|alt=$result}} to format the processed lines as wiki entries.

Usage

GoldSrc-FGD-Ent-List-VDC-2.sh <input> <output>

Examples

Table Generator for Console Variables

Empty

This article or section is empty. You can help by adding it.

Bots

Bots are automated software agents designed to perform specific tasks, often in response to certain triggers or conditions.

List of VDC bots

Bot name Owner Framework Purpose Status
VDCBot Valve Valve N/A

Active

(intermittently)
PIPEbot Mailmanmicky Pywikibot Pywikibot N/A

Inactive

, likely to never become active[3]
WisdomBot Wisdurm DotNetWikiBot DotNetWikiBot Updating pages using {{lang}} to use {{multipage}}, as well as other possible tasks when it becomes functional again.

Inactive

due to permission problems
Thunder4ik Noug4at Wikipedia icon AutoWikiBrowser
Pywikibot Pywikibot
Updating deprecated templates, optimizing pages, categorization & adding templates. See more at user page.[5]

Active

(intermittently)
PeeBot Pee DotNetWikiBot DotNetWikiBot Fixing redirects, updating templates, helping with template creation and possibly more.

Inactive

, seemingly due to lack of motivation by owner to operate it

WisdomBot

This marks the inaugural creation of an automated bot within the VDC, realized by Wisdurm. Despite the existence of PIPEbot prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions[3]. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{entity}} and its derivatives with {{this is a}} on pages featuring it,[4] as well as having begun the process of moving pages using {{lang}} to use {{multipage}}. However the bot is current not functional. While the reason for it not working is still not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or just the VDC servers themselves.

See also

Empty

This article or section is empty. You can help by adding it.

References

  1. "FGD to Entity List" for Source Engine (GitHub Gist)
  2. "FGD to Entity List" for GoldSrc Engine (GitHub Gist)
  3. PIPEbot, lack of auto-contributions
  4. WisdomBot, list of auto-contributions
  5. Thunder4ik (Bot), list of functions