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 8cc6c00db3 messages can be replied to with internalAPI
and, they save correctly. which is why they weren't getting guids :face_palm:

see #25
2025-05-29 13:26:17 -04:00
.config fork: vassago 2023-06-01 00:03:23 -04:00
.vscode it's always something 2025-02-22 22:14:16 -05:00
assets known aliases for currency, from openexchangerates.org 2025-05-07 16:53:16 -04:00
Behavior send message works! 2025-05-29 13:09:57 -04:00
Conversion unit converter attempts to resolve ambiguity 2025-05-08 00:30:51 -04:00
Migrations UAC descriptions 2025-05-23 15:18:14 -04:00
Models send message works! 2025-05-29 13:09:57 -04:00
Properties web interface 2023-07-03 12:51:23 -04:00
ProtocolInterfaces messages can be replied to with internalAPI 2025-05-29 13:26:17 -04:00
WebInterface send message works! 2025-05-29 13:09:57 -04:00
wwwroot send message works! 2025-05-29 13:09:57 -04:00
.gitignore i don't think anything useful can be put in a .projectile 2025-04-19 11:47:19 -04:00
appsettings.json UAC descriptions 2025-05-23 15:18:14 -04:00
Behaver.cs send message works! 2025-05-29 13:09:57 -04:00
ConsoleService.cs send message works! 2025-05-29 13:09:57 -04:00
devutils.sh UACs, have a web interface, can be linked 2025-04-23 11:44:11 -04:00
externalProcess.cs start to structure code for multiplatofrm 2023-05-22 00:58:36 -04:00
Jenkinsfile trailing slash on both. 2025-05-15 12:14:00 -04:00
Program.cs send message works! 2025-05-29 13:09:57 -04:00
README.md double-adding of Accounts is sovled - but now it's double-adding Users. 2025-03-06 17:02:33 -05:00
Rememberer.cs messages can be replied to with internalAPI 2025-05-29 13:26:17 -04:00
Shared.cs send message works! 2025-05-29 13:09:57 -04:00
vassago.csproj send message works! 2025-05-29 13:09:57 -04: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

database diagram. is a fancy term.

message 1:n attachment user 1:n account channel 1:n account channel 1:n message account 1:n message

featurepermission n:n ?

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.