Replies: 15 comments 7 replies
-
A bot is a system look for ways to build systems that can accomplish the same goals, with the same functionality, but composed differently i.e. different injects Consider using puppeteer page vs a website's api, using the same anon functions, just composed differently, with different rudimentary botaction's (foundational level) |
Beta Was this translation helpful? Give feedback.
-
If the pipe object were moved to the start of the BotAction params, before the spread injects (instead of after), as a new standard, the downside is that without chain(), there is no assembly line that can run more effectively when not using pipe values in BotAction's assembled What if chain(), by default, passed in an undefined initial param? That way BotAction params can have a consistent order, regardless of being ran inside a chain() or pipe() leave the pipe value branded (wrapped) in a pipe object, than set a convention of using a helper function for "unboxing" the what if BotAction injects was not a spread array, but just an array to destructure? Therefore, the type of the pipe value doesn't have to be lost when "appended" to a "spread" array of injects i.e. BotAction(page, injects?, pipeValue?) |
Beta Was this translation helpful? Give feedback.
-
It's possible to consolidate injects and pipe value when it goes into a BotAction via the function's params. In this way, a chain could be given a pipe value to then give to the 1st BotAction. Without adjusting the injects, this would consequently work like switchPipe()() too, because it would inject the same pipe value for each BotAction. It would consolidate the two BotAction's. Currently, switchPipe is expressive for this type of functionality, while chain is easy/clean runner of plain BotAction's without some kind of shared state via pipe value. So in the end it could be a pure curry flow with one param, an unique injects map which interfaces uniquely with these higher order assembling functions (i.e. piping new values, adding deeper scoped injects, etc) food for thought |
Beta Was this translation helpful? Give feedback.
-
With the new packages release, v4 plans for the original botmation package are slated for v2 of the new same upgrade plans, but different package name |
Beta Was this translation helpful? Give feedback.
-
switching the |
Beta Was this translation helpful? Give feedback.
-
what if pipe value was simply in the then a BotAction can return something when it wants to signal something to the higher scope ie AbortLineSignal, etc |
Beta Was this translation helpful? Give feedback.
-
these ideas will effect what ultimately gets included in the Core package puppeteer specific stuff can be moved into a new auxiliary package |
Beta Was this translation helpful? Give feedback.
-
express API auxiliary package |
Beta Was this translation helpful? Give feedback.
-
an end goal: bots communicating with each other, collaborating, work together to orchestrate their actions |
Beta Was this translation helpful? Give feedback.
-
get rid of other types of BotActions like ConditionalBotAction through the use of stronger typing & generics |
Beta Was this translation helpful? Give feedback.
-
injects being a Record-like type that appends key->value types as injects are added |
Beta Was this translation helpful? Give feedback.
-
what about renaming |
Beta Was this translation helpful? Give feedback.
-
rename similar to React's FC syntax |
Beta Was this translation helpful? Give feedback.
-
every branching BotAction (loops, conditionals, etc) return a value if last assembled BotAction returns then |
Beta Was this translation helpful? Give feedback.
-
Branch It focuses on two things
Now devs can build other programs, ie API's, with Botmation. Puppeteer bots are opt-in. At its Core, Botmation no longer includes any Actions that use a Puppeteer Page or Browser. That has been separated into a new, to be published package Which leads to a new package naming issue. Existing auxiliary packages rely on Puppeteer. The shift away from pure Puppeteer integration makes it possible to build bots with some of these websites' public API's such as Reddit. Therefore, is it important to rename existing auxiliary packages with a |
Beta Was this translation helpful? Give feedback.
-
Goals
as SomeTypeOrInterface
page
from BotAction request() & pagelessPipe()() #54puppeteerPage(page)(...actions)
BotAction to support Puppeteer based bots by injectingpage
Considerations
These ideas are under consideration (not committed):
Open to suggestions
Please share thoughts, ideas, concerns for @botmation/core v2
Beta Was this translation helpful? Give feedback.
All reactions