JustArchiNET / ArchiSteamFarm

C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.
Apache License 2.0
11.29k stars 1.05k forks source link

Addition of bot alias or tag #498

Closed judgegr closed 7 years ago

judgegr commented 7 years ago

After the introduction of the blessed <Bots> collective argument, most of us renamed our bots to consecutive -but vague- names. Personally I'm missing a quick way to identify which one is "bot1" "bot2" etc for single referencing it, so i keep correlation notes ...on a post-it. 😩

I'm suggesting adding a bot alias or tag in each bot's configuration json that would serve as a simple text note only for those bots the user needs to have a quick reminder. Accordingly, asf would use this tag to enhance the console output as the following example:

<bot1> Bot is idling game: 12345 <bot2/brother> Bot is idling game: 5678 <bot3> Bot is idling game: 8900

Bot1 and Bot3 do not have tags enabled (default state), where Bot2 has the a brother tag set. I think many users who farm a small amount of family accounts (2-5 bots) would find that useful.

PS1: Ofc, tags would be ignored while direct accessing/referencing the bots. PS2: Or, you might enhance it further by enabling tags to work as groups of bots, so bots with the same tag would define a group, thus they could be accessed like collective argument eg. !pause group1 would pause all bots tagged as group1

frwrks commented 7 years ago

I like the suggestion but I find it funny that you think that this is good for people who have 2-5 bots. It's difficult to remember which of the 2-5 bots is which?

I renamed my bots as numbers some time ago and perhaps because I only added one or two at a time I know the exact number for each bot.

Anyway, since I changed each bot name to a two-digit number in addition to or instead of your suggestion I'd like to be able to have the option of outputting the account name and/or current profile name as an alias.

JustArchi commented 7 years ago

I personally don't like that suggestion that much due to introducing yet another bot config variable that has little to no point. In addition to that, currently referencing a bot by his name is O(1) operation due to hash-map, with your approach it'll immediately become O(n) where n is number of bots that need to be checked (so all declared instances). In addition to that you can have issue of multiple tags for multiple bots, and non-intentionally executing command on multiple of them.

What is the problem in naming bots accordingly? <Bots> syntax doesn't require from you to have bots named with digits.

archi
mygroup_john
mygroup_matt
mygroup2_ann
mygroup2_miku

!status mygroup_john..mygroup2_miku works as supposed to. If you don't like mygroup there, you can get rid of it, and just exclude your most commonly used account with _ or whatever.

frwrks commented 7 years ago

I don't know what the OP intended, but in my response I was advocating for the idea of an additional information (account name and/or profile name) that would be returned during output. I have no interest in the ability to try to reference or command a bot with anything other than the bot name as is the case in the current implementation. There would be no underlying change to ASF logic, just the option of the insertion of static information regarding the acted upon bot in the output.

In fact, I'd be satisfied if the implementation was a simple true/false flag for outputting the account or profile name.

I guess it's possible maybe I hijacked the thread with a very similar but different request. My apologies.

Rudokhvist commented 7 years ago

I don't see why this is needed actually. If you have a few bots (as I do) - you probably don't need much group management, and have descriptive names. If you have a lot of bots - well, I doubt you'll need descriptive names for them, and you can just number your bots, and use all advantages of group management. And even if you have a lot of bots, and for some of them you want descriptive names - why not? Those bots are surely something special, so you probably need to handle them separately anyway, and so different naming won't be a problem. Maybe I just don't understand why you need this though.

judgegr commented 7 years ago

So sorry for the small delay & the following wall of text 📑

Guys, my suggestion was as simple as it sounds, tagging things is a pretty common practice made available to nearly everything nowadays, and I find a single, dummy text tag a pretty fresh, cool and easily implemented value-added option to the bot's configuration. However, Archi's recommendation of grouping bots group_bot1, group_bot2 etc is smart and viable solution, and this is what i will do for my bots from now on.

Now, @frwrks had a similar recommendation which i would vote for, instead of adding a tag option since it seems so useless to you, adding a verbose boolean option for each bot, is quite cheap and would inform asf to include the desired bot's account username in the output formatting.

Now check this: I just had this idea extending @frwrks' suggestion, if Archi could confirm it. Archi could it be that easy to add a custom layout renderer for nlog, say adding a ${accountname} layout renderer to pass the account name to the logger?

Oh boy, Nlog is so powerful and easy to configure and if that's possible, it would save the day. 😀

JustArchi commented 7 years ago

This is once again something that is already possible and done much better - you already can log specific messages from specific bots on specific levels, why would you need account name/nickname provided by Steam if you already have bot names available, that are even being used as logger names?

It's not the question of "is something possible" or "how hard it is to add" - those questions are secondary and usually evaluated by me. The primary question is why something should be added, and for now I can't find any scenario where it'd be needed, since name of the bots covers all of that, also like @Ryzhehvost pointed out above. If you expect any form of tagging to be added to ASF, then you need to explain why, because tagging already exists in form of bot name - bot name is in fact your tag that tags specific bot reference used by ASF.

https://github.com/JustArchi/ArchiSteamFarm/blob/master/CONTRIBUTING.md

Lack of good reasoning is the main reason why it's hard to convince us into doing something, as we know our code better than anybody else, including everything that is possible to do with it, so if you can't tell us why your solution works better than the old one, then there is not enough reasoning to change/improve it in the first place.

judgegr commented 7 years ago

Ok, i'm not sure what i expected when i suggested that in the first place. 😮

I suppose i've tried more than enough to explain my suggestion for an effing tiny 3-byte-long dumb text tag, and frankly, it's not a mind puzzle i have to solve to win some prize. It was only a simple idea shared among net friends who also share the same interests. If you don't like coding it, it's honestly quite fine by me, but me jumping through hoops to convince you for the necessity of this, it feels like we're discussing details on how to send a rocket to space.

This is once again something that is already possible and done much better - you already can log specific messages from specific bots on specific levels

Not true and not much better, no. You can log messages from specific bots with fake, made-up names. You have to rename bots to either long humanly understandable verbose names which are difficult to handle and send commands. Or you have to use those short, smart, robotic, cryptic names for which you have keep an external correlation table.

So if someone wants, let's say, to check why bot47 stopped dropping cards was it some problem or asf just felt stopping it, or he issued the !owns asf command to find which bot misses a game and bot47 was on the list. Then what would he do to find the real name of the bot account, to open the real steam client or web browser to check the badges page, to buy a game or send the key through chat or stop the bot. Well, that's why we use computers! Which account is bot47, asf? Blop blip blop, pebkac found please replace brain. Yeah, funny, but not true at all. 😆

Anyway, I'm always trying to be productive and positive so to wrap this up: Finding which bot is which account, apart from keeping notes, can be hackily bypassed using either:

Sorry for bringing this issue up. 👍

JustArchi commented 7 years ago

Still nothing is stopping you from renaming your bot47 to your_login_here, and it also doesn't prohibit you from using <Bots> syntax in commands, neither makes it impossible or in some way hard, since there is no issue in naming your bots 1_myname, 2_myothername if you care about the alphabetical order.

You're trying to workaround issue that doesn't exist with duplicating already existing bot name with yet another bot name, and it doesn't matter if that bot name would be given by you or generated from login. We'd have this feature long time ago if indeed there was no way to give short easy to remember names to bots, but they do exist since first release of ASF, in a form of a bot name that is fully customizable and nothing is stopping you from using your steam login in that place.

Sorry but I don't see any valid reason for such feature to exist, at least for now, so I also don't see a reason to code it.

but me jumping through hoops to convince you for the necessity of this, it feels like we're discussing details how to send a rocket to space.

No, we're discussing whether it makes sense to add X feature to ASF. If you think such discussion doesn't make sense then let me get rid of half of the features that ASF has right now, and instead add 2x more things somebody came up with, such as math calculator, grammar-correction of your texts, showing weather in your city and calculating your disk space - I'm sure all of those are very impotant for ASF as a program. Oh yeah, and I'd appreciate a reminder from ASF when to feed my cat while I'm at it.

judgegr commented 7 years ago

I don't understand why you're way too defensive about this, since I've already stated it twice that your naming suggestion suits me well and i'll follow it.

Generally, naming habits are just that, habits. If you're forcing users by any way to follow your naming habits, the problem is right there. It's all about options, you don't like to give options to users while i do.

All I'm saying is that naming something uniquely and case-sensitively and tagging something loosely and selectively, are two completely different things. Naming is static, tagging can be circumstantial, temporary. Naming is identifying the object, tagging is characterizing the object. It's basic stuff but if you want to deny it, it's with me fine too.

But comparing my suggestion to nearly as i was suggesting making asf a weather app... 😆 ❤️

judgegr commented 7 years ago

Sorry just saw this and need to address it for the sake of the discussion:

We'd have this feature long time ago if indeed there was no way to give short easy to remember names to bots, but they do exist since first release of ASF, in a form of a bot name (..)

And yet, it sounds so thoughtful but also not true. Naming bots crazily differently from their steam login, will drop any visible link between the newly named bot and the underlying hidden steam login. The only way to get a hint for which is which if you haven't kept a list, is to do what i proposed two posts above, internally via api or externally via command prompt. :wink:

Rudokhvist commented 7 years ago

Naming bots crazily differently from their steam login, will drop any visible link between the newly named bot and the underlying hidden steam login

And once again - why do you need it? Why somebody will need to name bot and steam account crazily different? And even more - why someone may want to do this and then try to find correspondence in those names? It's kinda contradiction, to do something that will make your life harder.

<joke> PS. I like the idea of reminder to feed the cat. Should I make a pull request for this? </joke>

judgegr commented 7 years ago

Well it's been a mess now. I've replied to Archi's claim that this function is already implemented from the beginning, which is not what i suggested. Although it solved the problem in the example i gave, but this one example of tagging is just one example out of many possible uses.

Answering your question (again) is like doing a merry-go-round of the discussion, but in a nutshell: of course i don't strictly need tagging for my narrow self purposes or my given example. I can do otherwise, I even name my bots like Archi suggested on his 2nd post and that's what i will do and also suggest to others. Though, It's funny i need to write it 3 times that if and still getting asked what i suggested in the first place. Tagging. Not renaming. Tagging. 🏷

From one point forward, the conversation was purely theoretical that my suggestion was infuriatingly irrelevant. It was not. It was just an idea, some might like some might not. Tagging an object can be of many uses, i've thought of one but the possibilities are endless. Whether Archi will code it or not, it's not my decision, i really don't profit from either choices and i never pushed him on doing something, he's not my employee.

And that's one thing. The other thing is, i get easily triggered if the conversation goes marginally into devaluing my suggestion/point of view as almost crazy or trash. Although i understand that this practice would strengthen the existing status of an application/website/anything in discussion as "complete", "perfect" and "not needing anything further", this is not close to fair for all who have an idea or put some effort to think of ways to enhance this app/website/anything they are using. It's not only my notion that 99.9% of the suggestions are being dropped out of the window in less than a millisecond of thought, mainly because Archie is satisfied with the product and everything else if out-of-the-scope. We are satisfied too and even making a suggestion for a new feature doesn't mean we think of asf as less that 100% complete or faulty software needing to be fixed.

Generally speaking, If a dev is once responding to my suggestion like i'm pushing it down his throat, i'll instantly stop making them. If this dev does that in a timely manner to all suggestions and requests and bug reports etc, i might think that the dev is using his app/website as a honeypot for arguments, for merely testing his ability to fence off the intruders. I strongly believe that Archi doesn't do that or i would have stopped caring for ASF long time ago, but hell, it really seems like it. 😢

My 2c. 💰

\ I've just returned from feeding them monsters, I've 9 of them (6+3 kittens) with very loud meow alarms when they're hungry. ASF is not needed here. 😸 \</joke related>

judgegr commented 7 years ago

Last try to present my point of view:

Now how could i tell which bot is which, which bot is active by my own definition of active and which isnt? You say rename the bots accordingly, so that b1 becomes b_Donald etc. You're right, but this causes the following:

All of that could be avoided by displaying the account name in !status asf or better, by displaying a tag defined by the mood of the user. And yes, i know asf is not notepad replacement or yellow stickies, but having the need to keep notes is a requirement for some users. The word Option is the key.

Rudokhvist commented 7 years ago

First of all, I have no intention of devaluing your suggestion, I just trying to understand. Yes, I don't see why tagging is useful, but it can be because I just don't have corresponding use cases. That's why I asking to explain your opinion. Secondly, Archi is dropping most of the suggestions because they are really not needed. Simple tool is better then complex, and archi tends to keep ASF as simple as possible, and I like it. The reasons for new feature is 1) you can't do it in another way with existing features and 2) this feature is related with purpose of the asf. Cat feeding reminder, as an example, does not comply with second condition - it's not related to farming cards.

Now, about your example. I don't really understand - if you need to take apart active by your own definition bot from others - why would you want to name them the same as others? And why do you need to name them b1..b5 ? What will you gain from this renaming? Typing a few less characters? I would leave the names as is, if you really need the exact order (you didn't really explained why, you even didn't put "dummy" bots to the end of the list) you can use naming 1_Donald, 2_Daisy, etc. The order will be the same, the names will be descriptive. I don't see much sense in using !status b1..b5 in this case too, because !statusall will do the same. If I was in such situation - I would either name bot so that "dummy" bots were in the end of the queue, of just disable those bots until I need them. In case I don't care where I want to redeem the game - I will just drop a key to the bot with forwarding on, and ASF will do the rest. In case I want to redeem game someone going to play - I will use !ownsall command and will see exact names at once. If I understand it right - all those commands with syntax !command <Bots> are only useful for a great amounts of bots. And I have no idea why those bots will have any descriptive names (well, actually I have one - conspiration purposes, but it's too silly and not worth efforts to support it).

judgegr commented 7 years ago

I have nothing against Archi or you, i hope you understand that. I got one idea, wrote it here, Archi didn't like it, that's it. Frankly, who cares about the dumb tag anyway. However, devaluing one's opinion is comparing it to cat feeding reminder or the weather report, just because you don't like it, is not evaluating the suggestion. Suggestions have one and only purpose, to stir things up and then, maybe in the end we get something out of it. If you get a suggestion and act as being offended by it, you don't need suggestions in the first place. I hope it's clear now.

Now, Archi first and then you, almost asked me to provide you with a feasibility study for an idea. So, do you want me to ask thousands of people using asf on how tagging would be useful to them? Or better, did you asked them and you know the usefulness of the suggestion? No and No. The facts are rather simple, one writes his bs, Archi either likes it or not, case closed. ASF is complex but let's not making it sound like we're discussing rocket science with thousands of parameters. That said, i could list some of asf's functions that are way out of the scope, though they exist, so what now, Archi was blackmailed to code them? I mean, guys it's just a tool for some job, a great tool but not NASA's software that has a thousands protocols to follow and obey to. Provided that we all root for a neon pink command window and Archi loves the idea, we may have pinkcommandwindow option on the next version. 😆

So for the bot part: Your recommendations are good and rational, we do have a way to tell bots apart. However you're taking apart my phrases, trying to make an argument. eg:

I don't see much sense in using !status b1..b5 in this case too, because !statusall will do the same. What will you gain from this renaming? Typing a few less characters?

Yes !status b1..b5 is useless, we have !sa but !pause b1..b5 isn't. Do you want me to write downall possible commands with all possible combinations, count the keystrokes for each combination, make a table, but then again, wouldn't you just say 'nah, it's a few less characters' ? I mean what's the point arguing that more characters is indeed more typing? Also this,

In case I want to redeem game someone going to play - I will use !ownsall command and will see exact names at once.

Huh, already mentioned that, in fact i wrote " No problem here.". You missed to address the real problem which was on the next line, how should i know which bot corresponds to which account, in order to buy a game to this specific account. Not a key, a steam store purchase. I wouldn't know how to find this info , except the hacks i mentioned earlier.

Finally, naming bots b1..b5 you have to remember only lower and higher boundaries (numbers). Naming bots line 1_Donald 2_Daisy, you have to remember the first and last full names of a sorted list of bots , in order to access them as a group. All in all accessing bots sequentially is asf's feature to be used regardless of the amount of bots, and i find that 5 names are way to much typing if you can still access them using b1..b5

Anyway, i guess we should agree we disagree to pretty much everything here, except cats, right? 😼

Rudokhvist commented 7 years ago

So, do you want me to ask thousands of people using asf on how tagging would be useful to them?

Of course no. Who need thousands of people? At least one person who need this, and can explain why he needs it (and why all other ways don't satisfy him) is more then enough. From your explanation I would suggest you are not the one who need this. Maybe one of your friends? Or you just suggesting it "just in case"? If it's the latter - it is a good reason not to do it.

frwrks commented 7 years ago

The point of outputting the account or profile name with the bot name is that the bot name may serve one purpose or schema, while the account or profile name may serve another or may predate a schema.

Thus in the absence of information in the output other than the bot name the relationship between the bot name and the account it is linked to may be lost.

Further, a person may farm accounts other their own alternates as bots--they may farm for a friend, or they may have a friend or friends whom have no interest in cards or other items of any kind and allow their account(s) to be farmed and pilfered. Now again the bot name in ASF may have no relationship with the account or profile names or may be required to be more difficult to address to preserve that relationship as much as possible.

The addition I am asking for helps to reinforce the relationship between the bot and the account it administrates.

You say the bots can just be named in any fashion one wishes but that does leave the possibility that a master ends up with an inconsistent or unmemorable relationship or schema.

judgegr commented 7 years ago

Again. What are you suggesting exactly? For me to start asking thousands of people before suggesting a thing? And again, have you started asking thousands and you have the results back? Afaik, you are one person, i'm one person. You don't know better than me or me better than you, i make a guess tags would be useful, you make a guess tags would be useless. It's 1-1 and your word against mine, deal with it already.

Of course no. Who need thousands of people? At least one person who need this, and can explain why he needs it (and why all other ways don't satisfy him) is more then enough. From your explanation I would suggest you are not the one who need this. Maybe one of your friends?

I get it, you need to be ironic and extra rude to avoid dealing with your thin arguments. So for the fifth time NO it's not for me, it was a suggestion for generic use, and you're plain rude and offensive because you simply don't like it you think you can start implying i have some profit out of it. Good job twisting my words when I've already posted the following:

But i think you still can imply i need it for myself or a friend, to fulfill a personal request, right? You can do that, for a sixth time. The answers are there, above.

Or you just suggesting it "just in case"? If it's the latter - it is a good reason not to do it.

All suggestions are being made "just in case" accompanied with a draft example. Requests are being made for oneself. So please explain me: Your argument is that if i made a request, i am wrong. If i made a suggestion i am wrong. So, WHAT exactly were my options here?. Nah, it's not worth it , you're asking way too much i shouldn't be apologizing for writing a suggestion, you should be apologizing for trashing my suggestion like it offended someone, somehow.

I've been posting suggestions and ideas to other projects for 25 years now, nobody ever treated me like that for trying to suggest a simple idea, I didn't even pushed it , though i could go that way because it's a matter of 3 lines of code for the config and a couple of edits in the output. I've also suggested a simple log renderer for nlog to bypass all this drama, which i doubt you ever noticed.

All in all, I should have been more of an ass and less of a friend to the whole honeypot situation. Have fun bullying other contributors. So long. 👋

PS: I hope Archi is not sharing and liking your uncalled rude attitude, it would be such a disappointment.

JustArchi commented 7 years ago

First of all, I used analogy to explain my reasoning, not to offend anybody, especially people suggesting how to make ASF better.

But at the same time, like written in contributing section:

Creating an issue means that you're asking us to do given thing, so you must have some valid arguments that would defend our main question "why?" - if you can't answer it, we won't answer it for you.

Yes, suggestions are strictly subjective because you're asking me to code specific thing in ASF - if I don't see a reason why I should be doing that, I ask.

if you can't tell us why your solution works better than the old one, then there is not enough reasoning to change/improve it in the first place.

Yes, I see ASF as kind of complete, since it's in development for past 2 years and has 4x more features than I ever planned it to has. However, that doesn't mean the code is frozen and not being updated with any additions or changes, and I'm quite sure that you're capable of reading changelogs and finding out yourself how much is actually being done each version.

You say the bots can just be named in any fashion one wishes but that does leave the possibility that a master ends up with an inconsistent or unmemorable relationship or schema.

That's up to ASF user, not me. I offer him a way to name his bots, and explain various way how to make it efficient - if he can't stick to it or make use of it, then I don't see a reason why I should bother with adding yet another way for doing that either.

i make a guess tags would be useful

I can't see any advantage of using tags instead of naming your bots properly. Saving keystrokes is not any valid reason, since you can already save keystrokes by naming your bots appropriately. And if you don't, then even if you used tag you'd be left with the same issue, as the only problematic thing might be alphabetical order used e.g. by !redeem commands, but in every single one of them it's clearly stated that you don't care which bot redeems a key, and actual logic is provided for convenience only - previously order was 100% implementation detail that was being changed from version to version, now it's standarized only so users will understand it better, but point still says - bots order should not matter when using !redeem command. If it does matter to you, you have !redeem <Bots> instead. But even then, if you care that much about the order, then it's not problematic to have 1_archi, 2_bob, 3_john, daisy, donald, matt and otherBotIDontReallyCareAbout. You can even group them and do whatever you wish.

Nobody was rude to you, @Ryzhehvost is also trying to understand better what is the reasoning for it, and is also suggesting things that already exist and solve your issue. Don't feel "bullied" because your suggestion was rejected due to already being possible in one way or another - you're asking us to code something, so yes you do need to convince us why, or code yourself and go through review process if you feel like you know better how to solve all limitations I mentioned above for no real gain.

Of course no. Who need thousands of people? At least one person who need this, and can explain why he needs it (and why all other ways don't satisfy him) is more then enough.

The only argument you provided right now why bot names are not enough is because of redeem order, which should be implementation detail and not matter for !redeem command at all.

I've also suggested a simple log renderer for nlog to bypass all this drama, which i doubt you ever noticed.

And that also didn't make sense as bot name is already used as logger name and can be easily filtered, and I explained you why.

All in all, I should have been more of an ass and less of a friend to the whole honeypot situation.

And I should simply reply with "No" instead of putting effort into asking and understanding better the suggestion, so we can evaluate possibilities and decide if such feature is wanted. After all, you're acting like it's up to me if I like the feature or not, so I don't need to explain why, right?

NO it's not for me, it was a suggestion for generic use

Or maybe, you should simply stick to what is stated in contributing guidelines yet again:

While everybody is able to create suggestions how to improve ASF, GitHub issues is not the best place to discuss if your enhancement makes sense - by posting it you already believe that it makes sense, and you're ready to convince us how. If you have some idea but you're not sure if it's possible, makes sense, or fits ASF purpose - you have Steam group discussions where we'll be happy to discuss given enhancement in calm atmosphere, evaluating possibilities and pros/cons. This is what we suggest to do in the first place, as in GitHub issue you're switching from having an idea into having a valid enhancement with general concept, given purpose and fixed details - you're ready to defend your idea and convince us how it can be useful for ASF.

Because people keep forgetting that GitHub is for development part of ASF and here we're using technical and logical arguments, for "maybe it makes sense" ideas, it's clearly written to use the Steam group.

Rudokhvist commented 7 years ago

@judgegr please, stay calm. It seems you take this too personally. Once again - I have no intention to insult you in any way. I just want to understand possible usage of this feature, and why it can't be acheived by other means. Excuse me if any of my posts seemed rude to you - I have no such intention.

But i think you still can imply i need it for myself or a friend, to fulfill a personal request, right? You can do that, for a sixth time. The answers are there, above.

You get it all wrong. If you need it for yourself or for a friend - it is a good request. Because in this case we know that somebody really needs it, and will use it.

All suggestions are being made "just in case" accompanied with a draft example.

No. That's not true. Every suggestion I made was either for myself or for my friends. I never suggest anything "just in case". I suggest things that at least one person would really use (me, or somebody else - sometimes random people just add me to ask about some features, just because their english is bad and I talk their language, so I can speak in their stead). You say that you're fine without this feature - so clearly you don't need it, right? So, what I asking - is there any friend of you, who need it, and inconvenienced because of it's lack? Someone, who will benefit from it? If no - then it means we have no proof that anyone at all will use it. Why implement something that nobody needs?

JustArchi commented 7 years ago

And yes, nobody here is attacking you, and I'm happy to listen to both valid suggestions and valid ideas. Even if I don't like specific feature, or don't feel like it's useful for me, I still put it on todo list or add right away, simply because somebody would find it useful - this is the case with more than 50% of all features ASF currently includes, I don't even use half of the features I added into my own program, so argument that I reject the idea only because I don't like it or because I feel like ASF is complete and nothing needs to be changed is painfully wrong, since I could stop development on version V1.6.1 when I felt like the program is already complete. This means that for the last year I'm implementing features that people are asking me for, yet you're claiming that I don't care and I reject 99% of suggestions claiming they're out of the scope. Maybe if I actually did like you said then people would notice why it's not the case right now, since I definitely spoiled my users with too many features and too rapid development, that they forgot that this poor human is trying to satisfy everybody and implement everything, yet don't ruin his own project.

judgegr commented 7 years ago

@Ryzhehvost , sorry but i won't stay calm when i'm constantly bullied for making suggestions. Again, if you or anyone else don't like it or you find it unimaginative or useless, you have every right to say so, I honestly don't ride on my high horse or having any complex syndromes when reading an opposite view. But please don't make it sound like it's an invalid suggestion, cause it's quite simple as a notion and already answered all your questions. Read my answers and answer to them and not according to what you want to achieve (which is, to deny the suggestion) but according to what you asked. Please stick to the facts, you wanted answers for the suggestion you got them, you can answer to them but definitely not by picking out what is easy to laugh about and leave behind what it's difficult to address. That said, you're still not the coder here, so your opinion values equally as others, and that is, regardless of any possible relation you have with Archi. Thank you.

So, what I asking - is there any friend of you, who need it, and inconvenienced because of it's lack? Someone, who will benefit from it? If no - then it means we have no proof that anyone at all will use it. Why implement something that nobody needs?

It's a logical fallacy all that and you know it. One person is proof and zero persons are not? Huh.. Making a suggestion never meant that one should have an army of users in his pocket to back it up and fight for winning. Brainstorming is not about winning. Even then, it's not an open vote suggestion and yet you're claiming that nobody would use it. How on earth do you know that? Heck, even Archi while coding enhancements, he doesn't know it's gonna be popular or totally obsolete. And then you say that If i find someone who like the feature then it would be massively userful? LOL, I can find 5 users that like neon pink command window, do you think it would be a widely accepted idea? Answer is: WHO KNOWS! It's not like there's a voting system like this (pun intended). Thing is, my suggestion is not neon pink or the weather report. 😒

Also, since ASF is quite complete as a software, every suggestion would be a very tiny enhancement and narrow to one's view, it's not like ASF is missing the exit button! So now, i'm caught in the middle, if i'm bringing personal suggestions would be personal agenda and Archi is not coding specific requests for specific persons, he's 'not payed to do so' as he once said and i agree. But if i'll suggest possibly widely accepted enhancements, then i couldn't even back them up because 'nobody needs them'. Crazy, right? It's sounds like a quicksand placed there for reasons irrelevant to the production or enhancement of ASF.

judgegr commented 7 years ago

@JustArchi, i'm replying to your last comment:

Sorry but I am being attacked for not accepting that my idea is shitty. Even you compared it's usefulness to the weather report and the cat feeding alarm. Problem is that you all are eligible to not like the idea, but nobody is eligible to trash others' ideas -well you are, if you have the right arguments but not liking it isn't a valid argument for trashing. I'll elaborate this later, while answering to your long technical post above.

As for the 99.9% , i didn't imply you don't care, i've said that you're satisfied with the product. When someone is satisfied with something is not evaluating other options objectively. Eg. when you're happily married, you may find the hot sexy neighbor boring and unattractive. 💃 Thing is, i totally share your sentiment of fulfillment but i don't share your arguments against the sexy neighbor. Despite my exaggeration of the 99.9%, the general feeling in this area and other places of feedback for ASF is pretty close to that. Most people, smart people, useful people, are afraid of expressing their views or having extensive conversations because they will be trapped in strange long unnecessary and unproductive discussions like this one. It should have been something like that:

J: Hey, why don't you add tags to bots? A: What do you mean? J: bla bla this and then bla bla that. A: Hm... don't think so, other options still exist. J: Yeah, true that, why not another. A: Meh, i don't feel like coding it. J: I feel you, just check with friends, maybe find it useful A: Sure thing, mate. Cheers. J: Ok mate, Cheers.

And they lived happily ever after. Like i said i've participated in many projects over my 25 years of professional life, mostly anonymously. Some might find my ideas dumb or biased or unimaginative, it's fine by me, but i'm surely not suggesting adding the weather report. See, If you're comparing my suggestion to the weather report, i'm comparing it to the sexy hot neighbor, problem is that, none of this e-peen contest is very productive. Which brings us to the beginning, if it were any room and desire for enhancement, my 'sexy hot neighbor' would be evaluated on a different view. Hope i made myself clear. :wink:

judgegr commented 7 years ago

@JustArchi, now to the technical part. Blocks i don't quote consider them as sharing my agreement. 👍

Yes, suggestions are strictly subjective because you're asking me to code specific thing in ASF - if I don't see a reason why I should be doing that, I ask.

Can't agree on that. Suggestions should be objective, though may come from a personal thought or need. Eg. I would love rubber shoes for walking in the rain, hey maybe others need that too. I'll make a suggestion to the shoes department. Hence, the rain boots are invented. Evaluation of suggestions should be objective too, if i may add.

That's up to ASF user, not me. I offer him a way to name his bots, and explain various way how to make it efficient - if he can't stick to it or make use of it, then I don't see a reason why I should bother with adding yet another way for doing that either.

Agreed on the first part, though It's not "yet another way for doing" the same thing. Tagging is an enhancement, a way of loosely define and characterize a group of objects. Please don't make me give you a lecture about tags, you're actively (over)using tagging here in github which makes me extra happy since i'm an organizing addict myself. What i suggested wasn't trying to fix a problem with naming bots, it enhances the bot instance. It's like each bot having its own color in the console output, hey.. that's another trashy idea right now! 😛

I can't see any advantage of using tags instead of naming your bots properly. Saving keystrokes is not any valid reason, since you can already save keystrokes by naming your bots appropriately.

'Saving keystrokes' is a valid reason since i'm the user and also part of my example-argument, not taking it into consideration due to a personal preference is biased. Eg. I like swimming, you don't. You deny buying me a swimming suite because you don't like swimming. It's crooked logic. So yes, I renamed by bots to 3-char-long names, for easier access and also saving keystrokes. Exhibit A

(...) but point still says - bots order should not matter when using !redeem command. If it does matter to you, you have !redeem instead.

Already wrote twice that there's no problem with !redeem commands in my example. Again, the problem is when i need to find correlation between a named bot and the corresponding account, eg. after issuing a !oa command only to find that b5 is missing the game that's has huge discount in steam store. Which account is b5, which friend/family-member should i nag to buy this, or if all bots are mine, which login should i use to buy the game? Exhibit B

My idea of solving this was a tag, @frwrks thought the account name is more useful, fact is, if a user renames the bot name to something cryptic, visual connection to the actual account name is lost. The problem here is having both Exhibit A and Exhibit B , not excluding one or the another.

But even then, if you care that much about the order, then it's not problematic to have 1_archi, 2_bob, 3_john, daisy, donald, matt and otherBotIDontReallyCareAbout. You can even group them and do whatever you wish.

So your answer is i should rename bots to having long descriptive names, ooh yes but no matter how that suits me (perfect my bots, thanks 😉), this breaks Exhibit A. Also it makes the !pause b1..b5 command not only longer to type but difficult to remember because now bots are: 1_archi, 2_bob, 3_john, 4_daisy, 5_donald and the command would be !pause 1_archi..5_donald which forces me not only to type more but to remember the whole names for first and last bots. Well, correct me if i'm utterly wrong here but unless this command !pause 1..5 does work, the proposed solution is more confusing and is creating 2 more problems while solving one.

(..) you're asking us to code something, so yes you do need to convince us why, or code yourself and go through review process if you feel like you know better how to solve all limitations I mentioned above for no real gain.

Sorry I can't find any limitations above and the gain is obvious, it's adding a 3byte empty config option in the json and an iif() clause on the formating output. Or what @frwrks suggested, a boolean toggle on the json file, and again an iif() on the output. The gain is obvious, and explained extensively, also explained again below.

The only argument you provided right now why bot names are not enough is because of redeem order, which should be implementation detail and not matter for !redeem command at all.

Not true, in fact i never wrote that redeeming keys is a problem. Guys , are you reading what i answer? Problem is that once a bot name is renamed, visual connection to the account name is lost. I suggested a tagging which i found more flexible to use than the toggle @frwrks suggested, but it's on the same principle. Don't know why you keep denying that there's a gap of reference there, only solved by renaming bot name to include steam account name, which then makes it a static name by design and not an optional field. Also renaming bots breaks Exhibit A and apart from that, you didn't provide me with any other viable solution to know the bot's account name, although i've written some hacks to find it quickly. Either the account name is needed or not, and i've wrote a long argument why the account name is needed (because of Exhibit B).

And that also didn't make sense as bot name is already used as logger name and can be easily filtered, and I explained you why.

Also not true, and this time you know it quite well. ${logger} shows the named bot, not the steam account name. You're still suggesting renaming the bot to a descriptive name which clearly breaks Exhibit A. If only you'd created this in the past for any other reason, i would have directed myself and @frwrks to edit our nlog.config files to suit our needs. It still would be a workaround but a smart one, betting that the use would be very limited. And if not, it would be upgraded to a config option later on. Win, win. So, this would solve the theoretical problem, would also fulfill both mine and frwrks' requests (although not the issue but we would be glad to have it as an option). Also it would create a precedent that all relevant requests, if you selected to fulfill them, they would be redirected to advanced solution output thus editing nlog.config.

Because people keep forgetting that GitHub is for development part of ASF and here we're using technical and logical arguments, for "maybe it makes sense" ideas, it's clearly written to use the Steam group. Well, I mostly respect GitHub 'rules' and i'm trying to post elaborated suggestions and comments, nicely formatted, always trying to check your code changes first, always having the developer's view in mind, which is not obligatory by the way. This part of github is an issue collector and not all people are developers or quite capable computer users, so how can you expect all comments to be are like yours?

Anyway my closing argument is that, brainstorming should be encouraged and not be 'punished', which currently is not happening, no matter how i enjoy spending hours debating the philosophical aspects behind an idea. I don't mind debating for the tiniest enhancement but it's quite tedious to write the same things 5-or-6 times and still having to answer like i never wrote them.

reeporter commented 7 years ago

Hello this is offtopic and has nothing to do with ASF. I guess it fits pretty good. @judgegr

Like i said i've participated in many projects over my 25 years of professional life

In all these projects you participated you havent learned a key part of social skills. Social Skills Accepting "No"

Social skills lesson one.

  1. Look at the person. (Or what he has written)
  2. Say okay.
  3. Stay calm.
  4. If you disagree, return to the subject later in a respectful manner.

After all you can still fork the project and implement the features you are talking about. When you are ready you can ask again for the feature to get merged into ASF.

judgegr commented 7 years ago

@reeporter , it fits pretty good indeed. Let me help you with your concerns:

In all these projects you participated you havent learned a key part of social skills

Well, truth is I've learned a lot. First lesson i learned was to answer exactly what i'm being asked, and i did that thrice and quite verbosely. After that, It's others' responsibility to reply exactly on what my answers were and not on their agenda. I frankly don't understand what you're accusing me of, perseverance? spending time? Not ducking out? 😲

See, I had no problem accepting "no" because i was "meh" before suggesting it, and in fact, i accepted "no" while replying Archi's first post. Read it, it's up there. The problem is that I was being asked "why" so i answered "why", then the conversation circled around things i've already answered. Keep answering what i'm being asked is not an offense in your social skills list. Also, saying "ok" when confronted or getting a denial is what stops innovation. Feel free to follow your list.

So, please read the conversation from the beginning because not doing that and still trying to judge me fairly, is only an insult. Or, you can read what i've answer for a fourth time in my last long answer to Archi, two posts above. You may start participating in-topic by reading it there and pointing out your points of disagreement.

After all you can still fork the project and implement the features you are talking about. When you are ready you can ask again for the feature to get merged into ASF.

Why forking it, I don't want this feature for myself nor i pushed it to Archi's throat. I was being asked why and answered why. The whole conversation was about the usefulness of the idea (or how it resembles the weather report) and not whether the idea should be included in ASF, Archi made that clear from his first post. The problem i had with the arguments is that the feature i suggested, already exits. It is not and I won't accept that for ducking out or any other "social" reason. It's a matter of respect for the opposite party and myself, if the opposite party shows disrespect or lack of sense for a reason, then YES, your list's suggestion comes quite handy.

Again, please read the conversation from the beginning. Let's not start this merry-go-round of raising matters already covered and answered. I did that with @Ryzhehvost and didn't go so well, because i have a huge problem myself: When i write something as an answer to a question, i want others to reply to my answer exactly and not to what they wanted my reply to be, or what they prepared to reply in the first place. I'm a strange kind of bear, don't you think? 🐻

Also, this:

PS1: Moderating the topic without being asked (I guess?) is neither noble nor helping Archi, who's perfectly capable of moderating this and also having an extensive conversation with me, we've done that before, actually. 😀

PS2: Not everything is a contest. You don't have to argue, just for the sake of the argument or test your reflexes. If anyone has something to disagree with, i'll address it with pleasure. Other than that, please refrain from provoking me with well known social skill lists and fun-facts, thanks. :wink:

reeporter commented 7 years ago

@judgegr

Everyone has a limited ammount of time. I dont know archi personally but i am sure that he has a life with work, academic studies, friends and so on. Is it not enough that you have been told that you can already use a custom Nlog.config to achieve what you want?

This is once again something that is already possible and done much better - you already can log specific messages from specific bots on specific levels, why would you need account name/nickname provided by Steam if you already have bot names available, that are even being used as logger names?

I have the strong feeling that this more about arguing than about making a suggestion for a reasonable feature.

I know people that can not stop arguing after everything is said. Just get to the point and stop wasting (others) precious time.

Rudokhvist commented 7 years ago

sorry but i won't stay calm when i'm constantly bullied for making suggestions.

Really? So far only one who bully and grudge around is you, just because your precious suggestion is questioned. You never cared to explain why this feature is useful, and even you say that you don't need this feature, and nobody you know don't need it also. And you dare to tell me about logical fallacies?

The problem is that I was being asked "why" so i answered "why"

Oh no, you didn't. You was asked "why you need A?" and the sole answer was "to do A!". Come on, it's a poor explanation. You keep explaining how you can use this feature, but without a word about why someone may want to use it in the first place.

Once again you giving explanaiton based on some strange use cases... !pause b1..b5 - really? WHY??? You want to pause all bots? Why would you need it? Why not pause asf in this case? You want to pause a subset of bots? Based on what criteria? If criteria is owners of the bots - then, if for some reason you decided to use short names (Why?) you will have to solve inverse problem - finding a bot name from steam name, and that is not solved by tags in ASF. So, this decision will bring two problems, only one of which can be solved by tags in ASF, and only one benefit - less keystrokes (come on, really? I can only think of one reason for this - arthritis, and if someone have it - do they really still playing games?). So many question, so little answers.

And gitgub suggestions is not the brainstorming. Noone have the aim to implement as many features as possible. Even if it's a very good-looking features. Suggestions have to be something that is really required, not more.

PS1: Moderating the topic without being asked (I guess?) is neither noble nor helping Archi

Lol what? Moderating? I never denied you to suggest anything you want, even if it's cat feeding alarm. But discussing any suggestion is good for the quality of project, and that's what I'm really interested in. If my comments here are unwelcome - I'm sure Archi will let me know, and of course in this case I will stop immediately.

judgegr commented 7 years ago

Note to @JustArchi : That's exactly why i wrote that comment about the honeypot. 😉

Everyone has a limited ammount of time.

@reeporter : Though trying too hard to have an argument, it failed epically. If you have limited amount of time, then why are you posting here? It's not something that goes away, the issue was already closed and the conversation kept going between Me, Archi, Ryzhehvost and frwrks.

I dont know archi personally but i am sure that he has a life with work, academic studies, friends and so on.

So? We all have lives and things to do, it's not a live chat here, nor i forced him to reply in time frame. Why are you advocating for Archi, did he asked you to? You know what you do is quite insulting for everyone, unless somebody asked you to provoke me for a reason. Well?

Is it not enough that you have been told that you can already use a custom Nlog.config to achieve what you want?

Oh boy, you just copy/pasting stuff to make arguments, right? You're suggesting me to follow my suggestion to Archi which was refused due to lack of reasoning. Your quote is quite irrelevant, as i already wrote ${logger} rendering parameter displays the bot name not the steam account. This is pretty basic, and if you were part of the conversation and/or had more experience you would know better than this.

I've extensively and thoroughly explained why steam account name is needed, according to my view. Other people also suggested the same thing. Archi suggested renaming which in turn was causing other problems, as i described on my last long post to Archi. The conversation is still open in this area, all other areas concern many outsiders but not me. Or Archi, if i may say so.

I have the strong feeling that this more about arguing than about making a suggestion for a reasonable feature.

Exactly what i wrote above. Now you're copy/pasting me. My suggestion is there, my answers are there. If Archi wanted or felt that i was talking bs he would have said so. My feeling is that he knows i have valid arguments that he doesn't agree with, which is healthy and called conversation. On the contrary what you're doing with your last posts is called bullying and is sick & unproductive.

I know people that can not stop arguing after everything is said.

I know people that are bullying others to quit replying. Bullying doesn't stop me. Stupid people, rude people, arrogant people, that might do the trick. Crazy people too.

Just get to the point and stop wasting (others) precious time.

Oh i'm sorry , If you have an appointment, please hurry! Other than that, i'm not sitting on your couch, never asked you to come bully me, please go back to your business. Ah, and stop advocating for others.

Thank you for your offtopic contribution!

judgegr commented 7 years ago

@Ryzhehvost [just a placeholder, answer follows]

reeporter commented 7 years ago

@judgegr

I have another one for you.

"Yeah but, no but..."

Watch it and pay attention.

judgegr commented 7 years ago

@reeporter , yeah nice one. I've something else to offer, more classical.

What you don't get guys, is that the problem is not my suggestion but the way you're not accepting suggestions and you have built a pattern of denial, first by not reading the other part, then by twisting what others say, and finally by provoking and beating around the bush. But If that's what makes you happy, it's fine by me. 👍

reeporter commented 7 years ago

Archi already said

I still put it on todo list or add right away

Honestly there is no reason to continue this.

judgegr commented 7 years ago

Honestly there is no reason to continue this.

Honestly you must be paying github's server and you care so much about text length, time and stuff. You came here with an offtopic post and you keep moderating the issue from then on. Who voted you king of the jungle? 🐒

reeporter commented 7 years ago

learn to stop before making a clown of yourself

JustArchi commented 7 years ago

This discussion is going to nowhere, core points were already stated and discussed.

You keep explaining how you can use this feature, but without a word about why someone may want to use it in the first place.


Creating an issue means that you're asking us to do given thing, so you must have some valid arguments that would defend our main question "why?" - if you can't answer it, we won't answer it for you.

If somebody is not happy with the way we're accepting suggestions, he can fork ASF, add changes himself and submit them in PR, as stated in contributing section.