This repository has been archived on 2023-06-01. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
adam 203c6af3cf restful with the db
because otherwise it caches for you. "but adam, won't that make it slower?" i just accidentally compared it to the production version; it's faster. over wifi! granted maybe it's not technically faster but something else might technically be happening, whatever. result observed
2025-01-28 21:34:43 -05:00
.config fork: vassago 2023-06-01 00:03:23 -04:00
.vscode fixed the launch error I was gettign 2025-01-28 17:09:23 -05:00
assets smoot is defined as 5ft 7, don't use cm to approximate 2023-12-05 23:44:40 -05:00
Behavior Merge branch 'offline-2024-07-06' 2024-12-26 16:35:20 -05:00
Conversion runs, performs features, doesn't crash 2024-07-13 18:59:10 -04:00
Migrations db migration: no featurepermissions, and channel permissions embedded in channel 2024-05-10 16:41:00 -04:00
Models fixed the launch error I was gettign 2025-01-28 17:09:23 -05:00
Properties web interface 2023-07-03 12:51:23 -04:00
ProtocolInterfaces restful with the db 2025-01-28 21:34:43 -05:00
WebInterface fixed the launch error I was gettign 2025-01-28 17:09:23 -05:00
wwwroot compiles, needs db update 2024-07-07 14:22:10 -04:00
.gitignore don't track crash dumps 2024-12-26 16:40:58 -05:00
appsettings.json move web interface around 2024-04-05 23:07:48 -04:00
Behaver.cs organize - behaver is not a behavior, only one use of connection string 2024-04-05 22:18:45 -04:00
ConsoleService.cs organize - behaver is not a behavior, only one use of connection string 2024-04-05 22:18:45 -04:00
devuitls.sh db recreate 2025-01-05 21:59:39 -05:00
externalProcess.cs start to structure code for multiplatofrm 2023-05-22 00:58:36 -04:00
Jenkinsfile once i figure out jenkins secrets, this'll be useful 2024-04-05 23:02:15 -04:00
Program.cs the api to commit web interface changes to a channel works 2024-06-23 20:31:09 -04:00
README.md twitch properly sets up self account 2024-12-26 17:27:35 -05:00
Shared.cs keep track of self 2023-06-20 21:26:44 -04:00
vassago.csproj bitrot cleared, runs on dantalion 2024-12-26 16:34:17 -05:00

discord-bot

copy appsettings.json to appsettings.ENV.json and fill it in. dotnet seems to understand files called appsettings.json (and appsettings.xml?) and knows how to overwrite specific values found within the .[ENV].[extension] version

auth link

https://discord.com/oauth2/authorize?client_id=913003037348491264&permissions=274877942784&scope=bot that's read messages/view channels, send messages, send messages in threads, and attach files. but not add reactions?

concepts

Data Types

Accounts

a User can have multiple Accounts. e.g., @adam:greyn.club? that's an "account". I, however, am a User. An Account has references to the Channels its seen in - as in, leaf-level. If you're in a subchannel, you'll have an appropriate listing there - i.e., you will never have an account in "discord (itself)", you'll have one in the guild text-channels

Attachment

debating whether to save a copy of every single attachment. Discord allows 100MB attachments for turbo users, and shtikbot lives in several art channels. (unfortunately, being that shtikbot doesn't have a viable SMS spam vector, it's limited to 8MB, in contradiction to discord itself reporting a server that doesn't agree to put its own name on discord's finer-grained rules has a limit of 10MB)

Channel

a place where communication can happen. any level of these can have any number of children. In matrix, everything is a "room" - even spaces and threads. Seems like a fine idea. So for vassago, a discord "channel" is a channel. a "thread" is a child of that channel. a "category" is a parent of that channel. A "server" (formerly "guild") is a parent of that channel. and fuck it, Discord itself is a "channel". Includes permissions vassago has for a channel; MaxAttachmentBytes, etc. go down the hierarchy until you find an override.

FeaturePermission

the permissions of a feature. It can be restricted to accounts, to users, to channels. It has an internal name... and tag? and it can be (or not be) inheritable?

Message

a message (duh). features bools for "mentions me", the external ID, the reference to the account, the channel.

User

a person or program who operates an account. recognizing that 2 Accounts belong to 1 User can be done by that user (using LinkMe). I should be able to collapse myself automatically.

Behavior

both a "feature" and an "anti-feature". a channel might dictate something isn't allowed (lewdness in a g-rated channel). A person might not be allowed to do something - lots of me-only things like directing other bots (and the now rendered-moot Torrent feature). A behavior might need a command alias in a particular channel (freedomunits in jubel's)

so "behavior" might need to tag other data types? do I have it do a full select every time we get a message? ...no, only if the (other) triggering conditions are met. Then you can take your time.